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 рублей.
Подзапросы в решении не используются.