Этот SQL руководство объясняет, как использовать SQL GROUP BY с синтаксисом и примерами.
Описание
SQL оператор GROUP BY можно использовать в SELECT для сбора данных по нескольким записям и группировки результатов одного или нескольких столбцов.
Синтаксис
aggregate_function (aggregate_expression)
FROM tables
[WHERE conditions]
GROUP BY expression1, expression2, ... expression_n;
Параметры или аргументы
expression1, expression2, ... expression_n - выражения, которые не входят в aggregate_function и должны быть включены в предложение GROUP BY в конце оператора SQL.
aggregate_function - это функция, такая как SUM, COUNT, функции MIN, MAX или AVG.
aggregate_expression – это столбец или выражение, которое используется в aggregate_function.
tables – таблицы из которых вы хотите выгрузить данные. После оператора FROM должна быть указана хотя бы одна таблица.
WHERE conditions. Необязательный. Условия, которые должны быть выполнены для записей, которые будут выбраны.
Пример – использования функции SUM
Давайте посмотрим на примере SQL запроса GROUP BY, который использует SQL функцию SUM.
В этом примере GROUP BY использует функцию SUM, чтобы получить total sales (общий объем продаж) по department (наименование отдела) таблицы order_details.
1 2 3 |
SELECT department, SUM(sales) AS "Total sales" FROM order_details GROUP BY department; |
В SQL SELECT предложении мы перечислили один столбец department, не входящий в функции SUM. Поле department должно быть указано в операторе GROUP BY.
Пример – использование функции COUNT
Давайте посмотрим, как можно использовать предложение GROUP BY с SQL функцией COUNT.
В этом примере GROUP BY использует функцию COUNT для возврата department (наименование отдела) и number of employees (количество сотрудников в отделе), которые делают более $ 5000 / год.
1 2 3 4 |
SELECT department, COUNT(*) AS "Number of employees" FROM employees WHERE salary > 25000 GROUP BY department; |
Пример – использование функции MIN
Давайте рассмотрим следующий пример, как мы могли бы использовать GROUP BY с SQL функцией MIN.
Этот пример GROUP BY использует функцию MIN, для возврата department (наименование отдела) и минимальную salary (зарплату) в department.
1 2 3 |
SELECT department, MIN(salary) AS "Lowest salary" FROM employees GROUP BY department; |
Пример - использование функции MAX
И, наконец, давайте посмотрим на то, как мы могли бы использовать GROUP BY с SQL функцией MAX.
В этом примере GROUP BY использует функцию MAX, чтобы вернуть department (наименование отдела) и максимальную salary (зарплату) в department.
1 2 3 |
SELECT department, MAX(salary) AS "Highest salary" FROM employees GROUP BY department; |