Task Livecoding SQL Big Spenders

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

Представим, что у нас есть свой магазин. К нам приходят люди и покупают у нас что-то. Мы храним всю историю покупок всех пользователей в таблице в базе данных. Таблица выглядит следующим образом:
orders:
id - автоинкрементный первичный ключ,
user_id - идентификатор пользователя
amount - сумма покупки которую совершил пользователь

Мы оперируем только этой одной таблицей и считаем, что других таблиц нет. Требуется написать SQL запрос для получения идентификаторов всех пользователей, которые совершили покупки за все время на сумму больше чем на 1 000 000 рублей.
Ограничения: Запрос надо написать без использования подзапросов.
Спойлеры к решению
Подсказки
📊 Нужно найти пользователей, чья общая сумма покупок больше 1 000 000.
🔗 Таблица orders содержит user_id и amount (сумма покупки).
🧮 Нам нужно суммировать amount по каждому user_id.
🚀 Используем GROUP BY для группировки и HAVING для фильтрации.
Решение
SELECT user_id 
FROM orders
GROUP BY user_id
HAVING SUM(amount) > 1000000;

📌 Объяснение:

  • GROUP BY user_id – группируем заказы по user_id.
  • SUM(amount) – считаем общую сумму покупок каждого пользователя.
  • HAVING SUM(amount) > 1000000 – отбираем только тех, кто потратил больше миллиона.

Готово! 🛍🔥