Количество заказов по пользователям одним расчётом
Отчёт сейчас заново пересчитывает заказы для каждого пользователя, поэтому плохо масштабируется на больших данных. Перепишите его как общий наборный расчёт: каждый пользователь должен остаться в результате, даже если заказов нет. Верните id и orders_count, отсортировав результат по id.
Исходный запрос
SELECT u.id, (SELECT COUNT(*) FROM orders o WHERE o.user_id = u.id) AS orders_count FROM users u ORDER BY u.id
Пример ожидаемого ответа
Это пример правильного ответа — у него своё количество строк, оно не должно совпадать с таблицами в схеме.
| id | orders_count |
|---|---|
| 1 | 2 |
| 2 | 2 |
| 3 | 1 |
Войдите, чтобы видеть историю отправок
ВойтиВойдите, чтобы использовать AI Mentor
Войти