Junior — Middle
Kas SQL-päringutes WHERE-tingimust saab kasutada koos agregaatfunktsioonidega nagu COUNT, SUM, AVG?
sobes.tech AI
Vastus AI-lt
В 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;