Назад к вопросам
Junior — Middle
67
Можно ли использовать условие WHERE в SQL-запросах с агрегатными функциями, такими как COUNT, SUM, AVG?
Ответ от нейросети
sobes.tech AI
В SQL условие WHERE используется для фильтрации строк до применения агрегатных функций (COUNT, SUM, AVG и т.д.). То есть WHERE фильтрует исходные данные, а затем агрегатные функции считаются по отфильтрованным строкам.
Если нужно фильтровать уже агрегированные результаты, используется конструкция HAVING.
Пример:
-- Выбрать количество заказов для клиентов из определённого города
SELECT COUNT(*)
FROM orders
WHERE city = 'Moscow';
-- Выбрать клиентов, у которых количество заказов больше 5
SELECT customer_id, COUNT(*) as orders_count
FROM orders
GROUP BY customer_id
HAVING COUNT(*) > 5;