Ключевое слово HAVING — знакомо, приходилось использовать?

HAVING фильтрует группы после группировки и вычисления агрегатов, а WHERE отбирает строки до неё. Например, можно выбрать клиентов, у которых больше трёх заказов.

Короткий ответ

Что ответить на собеседовании

HAVING фильтрует группы после группировки и вычисления агрегатов, а WHERE отбирает строки до неё. Например, можно выбрать клиентов, у которых больше трёх заказов.

Подробный разбор

Ответ с пояснениями

HAVING фильтрует группы после группировки и вычисления агрегатов, а WHERE отбирает строки до неё. Например, можно выбрать клиентов, у которых больше трёх заказов.

Пример:

SELECT customer_id, COUNT(*) AS orders_count
FROM orders
GROUP BY customer_id
HAVING COUNT(*) > 3;

Если считать только оплаченные заказы, условие по статусу обычно добавляют в WHERE. Оно влияет на состав строк до подсчёта. Не путайте фильтрацию результата COUNT с фильтрацией отдельных заказов. При вопросе об опыте дополните объяснение реальным применением, если оно было.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее