Форум: "Базы";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];
ВнизПодсчет количества записей по значениям Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.039 c