В этом учебном пособии вы узнаете, как использовать SQLite оператор GROUP BY с синтаксисом и примерами.
Описание
SQLite оператор GROUP BY используется в запросе SELECT для сбора данных по нескольким записям и группировки результатов по одному или нескольким столбцам.
Синтаксис
Синтаксис оператора GROUP BY в SQLite:
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
Необязательный. Условия, которые должны быть выполнены для выбранных записей.
Примеры использования
Рассмотрим пример, который показывает, как использовать GROUP BY с функцией sum в SQLite.
В этом SQLite примере GROUP BY используется функция sum для возврата last_name и общей зарплаты (для last_name).
1 2 3 |
SELECT last_name, sum(salary) AS "Total salaries"; FROM employees GROUP BY last_name; |
Поскольку в вашем операторе SELECT указан один столбец (поле last_name), который не инкапсулирован в функцию sum, вы должны использовать оператор GROUP BY. Поэтому поле last_name должно быть указано в GROUP BY.
Пример - Использование функции count
Давайте рассмотрим пример, который показывает, как использовать оператор GROUP BY с функцией count в SQLite.
В этом примере GROUP BY используется функция count, чтобы получить значение fav_website и количество сотрудников (для этого favour_website), у которых employee_id меньше 50.
1 2 3 4 |
SELECT favorite_website, count(*) AS "Number of employees"; FROM employees WHERE employee_id < 50 GROUP BY favorite_website; |
Пример - использование функции min
Теперь давайте посмотрим, как можно использовать оператор GROUP BY с функцией min в SQLite.
В этом примере GROUP BY используется функция min для возврата названия каждого department и минимальной зарплаты в department.
1 2 3 |
SELECT department, min(salary) AS "Lowest salary" FROM employees GROUP BY department; |
Пример - использование функции max
Наконец, давайте посмотрим, как мы можем использовать оператор GROUP BY с функцией max в SQLite.
В этом примере GROUP BY используется функция max для получения названия каждого department и максимальной зарплаты в department.
1 2 3 |
SELECT department, max(salary) AS "Highest salary" FROM employees GROUP BY department; |