Использование Предложения GROUP BY
Все столбцы в списке SELECT
, которые не находятся в групповых функциях, должны быть в предложении GROUP BY
.

При использовании предложения GROUP BY, удостоверьтесь что все столбцы в списке SELECT
, которые не являются включенными в групповые функции, находятся в предложении GROUP BY
. Пример на рисунке выводит на экран номер отдела и среднюю зарплату для каждого отдела. Вот, как этот оператор SELECT
, содержащий предложение GROUP BY
, вычисляется:
Предложение
SELECT
определяет столбцы, которые будут получены, следующим образом:Столбец номера отдела в таблице
EMPLOYEES
Среднее значение всех зарплат в группе, которую Вы определили в предложении
GROUP BY
Предложение
FROM
определяет таблицы, к которым должна обратиться база данных: таблица EMPLOYEES.Предложение
WHERE
определяет строки, которые будут получены. Поскольку нет предложения WHERE, все строки извлекаются по умолчанию.Предложение
GROUP BY
определяет, как строки должны быть сгруппированы. Строки группируются по номеру отдела, таким образом, функцияAVG
, которая применяется к столбцу зарплаты, вычисляет среднюю зарплату для каждого отдела.
Отметьте: Чтобы упорядочить результаты запроса в порядке по возрастанию или в порядке по убыванию, включите предложение ORDER BY
в запрос.
Указания по Предложению GROUP BY
Столбец GROUP BY
не обязан быть в списке SELECT
.

Столбец GROUP BY
не обязан быть в предложении SELECT
. Например, оператор SELECT
на рисунке выводит на экран средние зарплаты для каждого отдела, не выводя на экран соответствующие номера отделов. Без номера отдела, однако, результаты не выглядят значимыми.
Можно также использовать групповую функцию в предложение ORDER BY
:
SELECT department_id, AVG(salary) |