Столбец, заданный в предложении GROUP BY, не обязательно должен присутствовать в предложении SELECT, но его присутствие делает результаты более осмысленными.
Пример.
Вывод общего числа кассет по каждой стоимости проката фильма и с указанием самой стоимости проката.
SQL> select stoimost_prok, sum(kol)
From film
3 group by stoimost_prok;
STOIMOST_PROK SUM(KOL)
--------------------------- ----------
20 2
35 7
…
50 1
Строк выбраны.
Недействительные запросы с групповыми функциями
Если в одной и той же команде SELECT указаны как отдельные элементы данных (namef), так и групповые функции (COUNT), требуется предложение GROUP BY, описывающее эти отдельные элементы (в данном случае — namef). Если предложение GROUP BY опущено, выдается сообщение об ошибке "not a single-group group function" ("групповая функция не для единственной группы"), а под некорректно заданным столбцом появляется звездочка (*).
Пример.
SQL> SELECT namef, COUNT(regiser)
2 from film;
SELECT namef, COUNT(regiser)
*
ошибка в строке 1:
ORA-00937: групповая функция не является одногруппной
Для исправления этой ошибки следует добавить предложение GROUP BY. Теперь namef является именем группы.
SQL> SELECT namef, COUNT(regiser)
From film
3 GROUP BY namef;
NAMEF COUNT(REGISER)
------------------------- --------------
Азазель 0
Ва-банк 0
…
Ледниковый период 1