#827

Ανάκτηση των κορυφαίων 2 παραγγελιών κάθε πελάτη για την αναφορά VIP

Μια αναφορά VIP θέλει «τις δύο πιο ακριβές παραγγελίες ανά πελάτη» — για κάθε πελάτη ξεχωριστά, τις δύο κορυφαίες του κατά ποσό. Τα αριθμημένα παράθυρα το λύνουν τετριμμένα, αλλά υπάρχει ένα πιο εκφραστικό κόλπο: ένα join όπου ένα υποερώτημα με όριο βλέπει τις στήλες της εξωτερικής γραμμής και εκτελείται ξεχωριστά για καθεμία από αυτές. Φτιάξε την αναφορά χωρίς window functions — για κάθε πελάτη δείξε το id πελάτη, το id παραγγελίας και το ποσό, περιορισμένη στις δύο μεγαλύτερες παραγγελίες ανά πελάτη. Ταξινόμησε κατά id πελάτη και, σε περίπτωση ισοβαθμίας, κατά ποσό φθίνουσα.

Δείγμα αναμενόμενης εξόδου

Έτσι μοιάζει μια σωστή απάντηση — το πλήθος γραμμών της είναι δικό της, δεν χρειάζεται να ταιριάζει με τους πίνακες του σχήματος.

idamountcustomer_id
33001
22001
45002

Το αποτέλεσμα του ερωτήματός σας θα εμφανιστεί εδώ