Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.042 c
14-1106301757
07BB:080Dh
2005-01-21 13:02
2005.02.13
Java


14-1106310559
Чеширский_Кот
2005-01-21 15:29
2005.02.13
BitTorrent


6-1101968203
DelphiN!
2004-12-02 09:16
2005.02.13
Как получить трафик из компонета TIdMappedPortTCP?


9-1099913036
Robot
2004-11-08 14:23
2005.02.13
Война роботов


1-1106851074
Интерес
2005-01-27 21:37
2005.02.13
Фокус





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский