Что такое HAVING и чем отличается от WHERE?

Middle
241 просмотров
AFK Offer AI

WHERE фильтрует строки ДО группировки. HAVING — фильтрует результаты ПОСЛЕ GROUP BY. Пример: найти пользователей с более чем 5 заказами: SELECT user_id, COUNT(*) as cnt FROM orders GROUP BY user_id HAVING COUNT(*) > 5. WHERE нельзя использовать с агрегатными функциями. При тестировании: используем HAVING для проверки агрегированных данных. "Какие товары продаются более 100 раз в месяц?" — GROUP BY + HAVING.

Следующий вопрос

Как создать SQL отчёт для QA?