Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.13;
Скачать: CL | DM;

Вниз

Подсчет количества записей по значениям   Найти похожие ветки 

 
Vantage-10   (2005-01-14 12:07) [0]

Кто подскажет как сделать подобный SQL запрос?
Есть результат в виде:
значение1
значение1
значение1
значение2
значение2
значение3
значение3
значение3

Как получить следующий вид:
значение1|3 записи
значение2|2 записи
значение3|3 записи


 
Johnmen ©   (2005-01-14 12:10) [1]

LocalSQL.hlp : GROUP BY


 
Роман Снегирев   (2005-01-14 12:11) [2]

select значение, count(значение) from table group by значение


 
DSKalugin ©   (2005-01-14 12:13) [3]

select field, count(field)
from table
group by field


 
Нуждающийся в помощи   (2005-01-14 16:26) [4]

Новую ветку создавать не буду, спрошу здесь - вопросы родственные:
а если усложнить ситуацию до трех таблиц -
1. список студентов
2. список лекций, где отмечается какие лекции какие студенты посещали
3. список лабораторных, где отмечается какие лабораторные какие студенты посещали

нужно получить сводную таблицу:
1. фамилия студента
2. количестов посещенных лекций
3. количество посещенных лабораторных

как это реализовать в одном запросе?


 
Johnmen ©   (2005-01-14 17:18) [5]

Делать соединение таблиц. См. SQL.


 
Нуждающийся в помощи   (2005-01-14 17:22) [6]

Если имеется в виду UNION - этим я сделаю "вертикальное соединение"...
мне же нужно "горизонтальное"
а исползуя inner/left/right join я получаю все время неверные результаты:(

вот и решил спросить у знающих людей


 
Плохиш ©   (2005-01-14 17:30) [7]

select name, (select count(*) from t1 where t1.id=myid) as w1, (select ...) ...


 
Нуждающийся в помощи   (2005-01-14 17:30) [8]

Вот так я пытаюсь это сделать:
select STUD.FAM, count(LEKC.STUDE_CODE), count(LAB.STUDE_CODE) from STUD, LEKC, LAB
where (STUD LEFT JOIN LEKC ON STUD.CODE = LEKC.STUD_CODE) LEFT JOIN LAB ON STUD.CODE = LAB.CODE
group by STUD.FAM

В итоге я получаю таблицу с тремя полями, но значения в агрегатных полях совпадают, т.е. я получаю что-то подобное:

aaa | 10 | 10
bbb | 01 | 01
ccc | 12 | 12

Хотя должен что-т такое:

aaa | 11 | 03
bbb | 14 | 07
ccc | 09 | 01


 
Нуждающийся в помощи   (2005-01-14 17:51) [9]

Плохиш ©   (14.01.05 17:30) [7]
Респект
Все работает:)


 
Anatoly Podgoretsky ©   (2005-01-14 18:49) [10]

Нуждающийся в помощи   (14.01.05 16:26) [4]
Новую ветку создавать не буду

Это что лень?


 
Нуждающийся в помощи   (2005-01-16 16:43) [11]

Нет, не лень...
Но вопросы мне показались схожими, а веток разнообразных тут и так хватает:)


 
Нуждающийся в помощи   (2005-01-16 16:45) [12]

Да, к слову, разобрался почему не работал мой исходный вариант:
все дело в последовательности, в которой выполняется объединение и проверка условий/вычисление агрегатных функций



Страницы: 1 вся ветка

Текущий архив: 2005.02.13;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.025 c
3-1105972387
Belkova
2005-01-17 17:33
2005.02.13
Данные в архив


1-1106744363
Raider
2005-01-26 15:59
2005.02.13
Исходник звонилки


3-1105440919
DimaK
2005-01-11 13:55
2005.02.13
профили пользователей WinXP и BDE


14-1104137933
Чеширский_Кот
2004-12-27 11:58
2005.02.13
Кто хочет сыграть против меня в шахматы?


1-1106812418
bon
2005-01-27 10:53
2005.02.13
компонент Outlook bar для Делфи7