PostgreSQL оператор GROUP BY

В этом учебном пособии вы узнаете, как использовать PostgreSQL оператор GROUP BY с синтаксисом и примерами.

Описание

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

Синтаксис

Синтаксис для оператора GROUP BY в PostgreSQL:

SELECT expression1, expression2,... expression_n,
aggregate_function (expression)
FROM tables
[WHERE conditions]
GROUP BY expression1, expression2,... expression_n;

Параметры или аргументы

expression1, expression2,... expression_n
Выражения, которые не заключены в агрегатную функцию и должны быть включены в предложение GROUP BY.
aggregate_function
Это может быть агрегатная функция, например sum, count, min, max или avg.
tables
Таблицы, из которых вы хотите получить записи. В операторе FROM должна быть указана хотя бы одна таблица.
WHERE conditions
Необязательный. Условия, которые должны быть выполнены для записей, которые будут выбраны.

Пример - использование функции sum

Рассмотрим пример PostgreSQL запроса GROUP BY, в котором используется функция sum.
В этом PostgreSQL примере GROUP BY используется функция sum для возврата department (названия отдела) и "Salaries for department" (общей заработной платы для отдела).

Поскольку в вашем операторе SELECT вы указали один столбец (поле department), который не инкапсулирован в функцию sum, вы должны использовать оператор GROUP BY. Поэтому поле department должно быть указано в операторе GROUP BY.

Пример - использование функции count

Рассмотрим, как мы могли бы использовать оператор GROUP BY с функцией count.
В этом примере GROUP BY функция count используется для возврата department (отдела) и "Number of employees" (количества сотрудников для этого отдела), которые имеют status 'Active'.

Пример - использование функции min

Давайте теперь посмотрим, как мы можем использовать оператор GROUP BY с функцией min.
В этом примере GROUP BY используется функция min для возврата department (названия отдела) и "Lowest salary" (минимальной зарплаты в отделе).

Пример - использование функции max

Наконец, давайте посмотрим, как можно использовать оператор GROUP BY с функцией max.
В этом примере GROUP BY используется функция max для получения department (названия отдела) и "Highest salary" (максимальной зарплаты в отделе).