Ανάκτηση των κορυφαίων 2 παραγγελιών κάθε πελάτη για την αναφορά VIP
Μια αναφορά VIP θέλει «τις δύο πιο ακριβές παραγγελίες ανά πελάτη» — για κάθε πελάτη ξεχωριστά, τις δύο κορυφαίες του κατά ποσό. Τα αριθμημένα παράθυρα το λύνουν τετριμμένα, αλλά υπάρχει ένα πιο εκφραστικό κόλπο: ένα join όπου ένα υποερώτημα με όριο βλέπει τις στήλες της εξωτερικής γραμμής και εκτελείται ξεχωριστά για καθεμία από αυτές. Φτιάξε την αναφορά χωρίς window functions — για κάθε πελάτη δείξε το id πελάτη, το id παραγγελίας και το ποσό, περιορισμένη στις δύο μεγαλύτερες παραγγελίες ανά πελάτη. Ταξινόμησε κατά id πελάτη και, σε περίπτωση ισοβαθμίας, κατά ποσό φθίνουσα.
Δείγμα αναμενόμενης εξόδου
Έτσι μοιάζει μια σωστή απάντηση — το πλήθος γραμμών της είναι δικό της, δεν χρειάζεται να ταιριάζει με τους πίνακες του σχήματος.
| id | amount | customer_id |
|---|---|---|
| 3 | 300 | 1 |
| 2 | 200 | 1 |
| 4 | 500 | 2 |
Συνδεθείτε για να δείτε το ιστορικό υποβολών
ΣύνδεσηΣυνδεθείτε για να χρησιμοποιήσετε τον AI Mentor
Σύνδεση