Главная страница
    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.039 c
14-1106208532
YurikGL
2005-01-20 11:08
2005.02.13
Куда идти молодому специалисту.


3-1105570101
denik
2005-01-13 01:48
2005.02.13
Картинка в столбце DbGridEh по определенному условию.


4-1104014253
AGAMEMNUM
2004-12-26 01:37
2005.02.13
список задач


14-1106690642
Narik
2005-01-26 01:04
2005.02.13
Как всегда ВОПРОС!


6-1101480735
Muhan
2004-11-26 17:52
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский