Главная страница
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.048 c
14-1106449696
Думкин
2005-01-23 06:08
2005.02.13
С Днем рождения! 23 января


11-1089489111
z007
2004-07-10 23:51
2005.02.13
PopupMenu


14-1106555728
syte_ser78
2005-01-24 11:35
2005.02.13
Проверка орфографии


1-1107111860
QWEQWEQWE
2005-01-30 22:04
2005.02.13
Drag&Drop


6-1101848996
noname:)
2004-12-01 00:09
2005.02.13
Старый добрый net send:)