Оплаченные заказы по покупателям без сырых повторов
Аналитика хочет увидеть, сколько заказов со status = 'paid' есть у каждого покупателя, у которого такие заказы есть. Уберите подход через сырые повторы и сделайте одну строку на user_id. Верните user_id и paid_count, отсортировав результат по user_id.
Исходный запрос
SELECT DISTINCT o.user_id, (SELECT COUNT(*) FROM orders o2 WHERE o2.user_id = o.user_id AND o2.status='paid') AS paid_count FROM orders o WHERE o.status='paid' AND o.user_id IS NOT NULL ORDER BY o.user_id
Пример ожидаемого ответа
Это пример правильного ответа — у него своё количество строк, оно не должно совпадать с таблицами в схеме.
| user_id | paid_count |
|---|---|
| 1 | 2 |
| 2 | 1 |
Войдите, чтобы видеть историю отправок
ВойтиВойдите, чтобы использовать AI Mentor
Войти