Ответ
Агрегатные функции (SUM, COUNT, AVG, MAX, MIN и др.) можно использовать в секциях:
- SELECT - для вычисления агрегированных значений:
SELECT department, AVG(salary)
FROM employees
GROUP BY department
- HAVING - для фильтрации после группировки (в отличие от WHERE, который фильтрует до группировки):
SELECT department, COUNT(*)
FROM employees
GROUP BY department
HAVING COUNT(*) > 5
- ORDER BY - для сортировки по агрегированным значениям:
SELECT department, SUM(salary) as total
FROM employees
GROUP BY department
ORDER BY total DESC
Важно: агрегатные функции нельзя использовать напрямую в WHERE, так как они вычисляются после фильтрации строк. Для фильтрации по агрегатам используйте HAVING.