10. Выбрать всех клиентов, у которых больше трех заказов с ценой > 10 #
Customer
- Id
- name
Order
- Id
- customer_id
- Price
Спойлеры к решению
Подсказки
🔍 Мы должны выбрать всех клиентов, которые сделали более трех заказов, где цена каждого заказа больше 10.
📊 Для этого нужно группировать заказы по
📌 Используем
📊 Для этого нужно группировать заказы по
customer_id
и подсчитывать количество заказов с ценой выше 10.📌 Используем
HAVING
для фильтрации по количеству заказов.Решение
SELECT o.customer_id, c.name
FROM Order o
JOIN Customer c ON o.customer_id = c.Id
WHERE o.Price > 10
GROUP BY o.customer_id, c.name
HAVING COUNT(o.Id) > 3;
📌 Объяснение:
JOIN
соединяет таблицыOrder
иCustomer
по полюcustomer_id
.WHERE o.Price > 10
фильтрует только те заказы, где цена больше 10.GROUP BY o.customer_id, c.name
группирует поcustomer_id
и имени клиента.HAVING COUNT(o.Id) > 3
выбирает только тех клиентов, у которых больше 3 заказов с ценой больше 10.
✅ Задача решена! 🎯