Вы хотите вывести только те категории товаров, где суммарные продажи больше 10000. Таблица sales с колонками category и amount. Какой запрос корректен?

ASELECT category, SUM(amount) FROM sales WHERE SUM(amount) > 10000 GROUP BY category;
BSELECT category, SUM(amount) FROM sales GROUP BY category HAVING SUM(amount) > 10000;
CSELECT category, amount FROM sales GROUP BY category HAVING amount > 10000;
DSELECT category, SUM(amount) FROM sales HAVING SUM(amount) > 10000;
Правильный ответ. Условия по агрегатам (SUM, COUNT и др.) задаются в HAVING после GROUP BY.

Разбор

WHERE фильтрует отдельные строки до группировки и не работает с агрегатами вроде SUM. Для условия по сумме нужна HAVING после GROUP BY: SELECT category, SUM(amount) FROM sales GROUP BY category HAVING SUM(amount) > 10000;. Без GROUP BY ссылка на category рядом с агрегатом некорректна, а условие на amount без агрегата сравнивает построчные значения, а не суммы.

Проверь себя · 1/3разбор после ответа
В таблице пользователей есть колонка middle_name, в которой часто хранится NULL. Что вернёт выражение COUNT(middle_name)?
Тренировать SQL в Telegram

Ещё вопросы по теме «Агрегация, GROUP BY и HAVING»