Orders per User in One Report
The report currently recounts orders separately for every user, which scales poorly on larger data. Rewrite it as one set-based calculation: every user must remain in the result, even with no orders. Return id and orders_count, sorted by id.
Original query
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
Σύνδεση