SQL Quest › SQL Interview Questions › Window Functions
Most Recent Order Per Customer (ROW_NUMBER)
Customer success wants each customer's most recent order for the support context panel. Use ROW_NUMBER() OVER (PARTITION BY customer_id ORDER BY order_date DESC, order_id DESC), then keep rn = 1.
Show customer_id, order_id, product, order_date. Order by customer_id.
The second sort key (order_id DESC) is a tie-breaker: if a customer placed two orders on the same day, ROW_NUMBER without a deterministic ORDER BY could pick either. Adding the id makes the result repeatable across runs.
Solve it in the browser editor →
Runs on SQLite in your browser, graded against the expected result, no signup. A wrong answer gets a diagnosis, not just "incorrect".
Schema
orders
| order_id | customer_id | product | category | quantity | price | total | order_date | country | status |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | Laptop Pro | Electronics | 1 | 1299.99 | 1299.99 | 2024-01-15 | USA | completed |
| 2 | 2 | Wireless Mouse | Electronics | 2 | 49.99 | 99.98 | 2024-01-16 | Canada | completed |
| 3 | 3 | Office Chair | Furniture | 1 | 349.99 | 349.99 | 2024-01-17 | USA | completed |
Expected output: Cust 1's Jan 20 + Cust 2's Feb 1
Hint
SELECT, Window Functions, ROW_NUMBER, and open the hint there if you stall.Concepts
SELECT Window Functions ROW_NUMBER CTE
Practise the topic: SQL practice questions · Window function practice · CTE practice · Ranking function practice
In these company practice sets
NVIDIA · OpenAI · Stripe · DoorDash · Goldman Sachs · Walmart · TikTok
A SQL Quest challenge matched to patterns reported for these companies — not a question any of them has published.
Related questions
Where would this cost you points in an interview?
Ten questions, no signup: a Skillmap across nine SQL skills and the one to fix first.
Take the readiness test