#sql #aggregate-functions
#sql #агрегатные функции
Вопрос:
У меня есть таблица, подобная этой:
школа таблиц
ID_School name
--------------------
ACH001 jack
ACH001 gon
ACH001 fanny
ACH001 tony
ACH002 vera
ACH002 jessica
ACH003 rey
ACH003 tomy
Я хочу вывести максимальный идентификатор записи ID_School в этой таблице, и вывод выглядит следующим образом :
ID_School count
-----------------
ACH001 4
Комментарии:
1. Это непонятно. Вам нужна школа и количество школ, в которых больше всего учеников? (И должен ли у вас быть тег homework?)
Ответ №1:
В MS SQL:
select top 1 ID_School, count(*) IdCount
from school
group by ID_School
order by IdCount desc
Ответ №2:
Это все:
select ID_school,count(ID_school) as total from school group by names order by total desc limit 1;
Ответ №3:
Для Oracle:
SELECT id_school, cnt
FROM (SELECT id_school, count(*) cnt
FROM school
GROUP BY id_school
ORDER BY cnt)
WHERE ROWNUM = 1;