Ответ
Нет, WHERE не работает напрямую с агрегатными функциями (SUM, COUNT, AVG и т.д.). Для фильтрации по агрегатным функциям нужно использовать HAVING после GROUP BY.
Пример:
SELECT department, AVG(salary)
FROM employees
GROUP BY department
HAVING AVG(salary) > 50000;
Разница:
- WHERE фильтрует строки до группировки
- HAVING фильтрует после группировки и агрегации
Можно использовать оба в одном запросе:
SELECT department, AVG(salary)
FROM employees
WHERE hire_date > '2020-01-01'
GROUP BY department
HAVING AVG(salary) > 50000;