Получить id пользователей, потративших более 1 000 000 рублей (без подзапросов)?

8. Получить ID пользователей, потративших более 1 000 000 рублей

Условие задачи:
Дана таблица orders, содержащая историю всех покупок пользователей.

Необходимо получить id пользователей, которые за всё время совершили покупки на общую сумму более 1 000 000 рублей.

Ограничение: нельзя использовать подзапросы.

Код:

orders

id      INT PRIMARY KEY
user_id INT
amount  NUMERIC

Спойлеры к решению

Подсказки
💡 Сгруппируй покупки по user_id.
💡 Общую сумму покупок можно получить через SUM(amount).
💡 Для фильтрации агрегированного результата используй HAVING.

Решение
SELECT user_id
FROM orders
GROUP BY user_id
HAVING SUM(amount) > 1000000;

GROUP BY user_id объединяет все покупки одного пользователя.

Затем:

SUM(amount)

вычисляет общую сумму его покупок, а условие:

HAVING SUM(amount) > 1000000

оставляет только пользователей, потративших более 1 000 000 рублей.

Подзапросы в решении не используются.