Предложение GROUP BY организует строки с одинаковыми значениями в группы, позволяя агрегирующим функциям выполнять вычисления для каждой группы независимо, а не по всему набору данных.
COUNT() – подсчитывает строки в каждой группеSUM() – суммирует числовой столбец для каждой группыAVG() – вычисляет среднее значение для каждой группыMIN() / MAX() – находит наименьшее или наибольшее значение для каждой группыSELECT department, AVG(salary) AS avg_salary
FROM employees
GROUP BY department;
Этот запрос возвращает среднюю зарплату для каждого отдела, а не одно среднее значение для всех сотрудников.
SELECT, который не находится внутри агрегирующей функции, должен присутствовать в предложении GROUP BYGROUP BY обрабатывается до предложения HAVING, которое используется для фильтрации сгруппированных результатов — в отличие от WHERE, который фильтрует отдельные строки до группировкиПредложение GROUP BY фильтрует отдельные строки перед любой группировкой, аналогично тому, как работает предложение WHERE.
Новый — ещё не проверен сообществом
Вы