В этом учебном пособии вы узнаете, как использовать MySQL оператор GROUP BY с синтаксисом и примерами.
Описание
MySQL оператор GROUP BY используется в SELECT предложении для сбора данных по нескольким записям и группировки результатов по одному или нескольким столбцам.
Синтаксис
Синтаксис оператора GROUP BY в MySQL:
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
Рассмотрим пример запроса MySQL GROUP BY, который использует функцию SUM.
В этом примере MySQL GROUP BY используется функция SUM, чтобы вернуть имя product и общее количество (для product).
1 2 3 |
SELECT product, SUM(quantity) AS "Total kol" FROM order_details GROUP BY product; |
Запрос в примере вернет общее количество по полю quantity под алиасом "Total kol".
Поскольку вы указали один столбец (поле product) в операторе SELECT, который не инкапсулирован в функцию SUM, то вы должны использовать оператор GROUP BY. Поэтому поле product должно быть указано в операторе GROUP BY.
Пример использования функции COUNT
Рассмотрим, как мы можем использовать оператор GROUP BY с функцией COUNT в MySQL.
В этом примере GROUP BY используется функция COUNT для возврата product и количества заказов (для этого product), которые находятся в категории product.
1 2 3 4 |
SELECT product, COUNT(*) AS "Number of orders" FROM order_details WHERE category = 'produce' GROUP BY product; |
Пример использования функции MIN
Рассмотрим, как мы можем использовать оператор GROUP BY с функцией MIN в MySQL.
В этом примере GROUP BY используется функция MIN, чтобы вернуть department (имя каждого отдела) и lowest salary (минимальную зарплату в отделе).
1 2 3 |
SELECT department, MIN(salary) AS "Lowest salary" FROM employees GROUP BY department; |
Пример использования функции MAX
Наконец, посмотрим, как мы можем использовать оператор GROUP BY с функцией MAX в MySQL.
В этом примере GROUP BY используется функция MAX для возврата имени каждого department и максимальной заработной платы в department.
1 2 3 |
SELECT department, MAX(salary) AS "Highest salary" FROM employees GROUP BY department; |