FROM Prep

WHERE grup = 123

GROUP BY fam;

Столбец, заданный в предложении GROUP BY, необязательно должен быть задан в предложении SELECT. С другой стороны, если столбец из предложения GROUP BY входит в список SELECT, результат имеет больше смысла.

Если в одной и той же команде SELECT указаны как отдельные элементы данных, так и групповые функции, но пропущено предложение GROUP BY, описывающее эти отдельные элементы, выдается сообщение об ошибке.

Пример 2:

SELECT id_region, COUNT(name)

FROM Klienti;

*

ERROR at line 1:

ORA-00937: not a single-group group function

(Ошибка в строке 1:

групповая функция не для единственной группы).

Для исправления этой ошибки следует добавить предложение GROUP BY.

Группы внутри групп.

Сводные результаты по группам и подгруппам можно получить путем указания более чем одного столбца в предложении GROUP BY. В следующем примере количество людей подсчитывается не только по отделам, но и по должностям. Порядок сортировки, используемый по умолчанию, определяется порядком столбцов в предложении GROUP BY.

Пример 3: Вывод количества преподавателей по должностям внутри кафедр (таблица Dolzhn).

SELECT kaf, dolzhn, COUNT(*) as “Количество”

FROM Dolzhn

GROUP BY kaf, dolzhn;

Предложение HAVING.

Предложение WHERE для исключения групп не используется. Для исключения целиком некоторых групп следует пользоваться предложением HAVING.

Пример 4: Вывод номера отдела и средней заработной платы для тех отделов, где средняя заработная плата превышает 10000.

SELECT id_otdel, AVG(salary)

FROM emp


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: