GROUP BY SQL Server

В этом учебном пособии вы узнаете, как использовать оператор GROUP BY в SQL Server (Transact-SQL) с синтаксисом и примерами.

Описание

GROUP BY SQL Server (Transact-SQL) используется в операторе SELECT для сбора данных по нескольким записям и группировки результатов по одному или нескольким столбцам.

Синтаксис

Синтаксис GROUP BY в SQL Server (Transact-SQL):

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

Рассмотрим пример запроса SQL Server GROUP BY, который использует функцию SUM.
Например:

В этом примере SQL Server GROUP BY используется функция SUM для возврата product_name и общего количества (для product_name).

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

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

Рассмотрим, как мы можем использовать предложение GROUP BY с функцией COUNT.
Например:

В этом примере GROUP BY используется функция COUNT для возврата manager_id и количества employees (сотрудников), чье last_name - 'Колесников'.

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

Рассмотрим, как мы можем использовать предложение GROUP BY с функцией MIN.
Например:

Этот пример GROUP BY использует функцию MIN для возврата product_type и минимального количества для этого product_type.

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

Наконец, рассмотрим, как мы можем использовать GROUP BY с функцией MAX.
Например:

В этом примере используется функция MAX для возврата имени каждого department (отдела) и максимальной salary (заработной платы) в department.