SQL QuestSQL Interview Questions › Window Functions

Most Recent Order Per Customer (ROW_NUMBER)

MediumFreeQuerying BasicsWindow FunctionsSubqueries & CTEs

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_idcustomer_idproductcategoryquantitypricetotalorder_datecountrystatus
11Laptop ProElectronics11299.991299.992024-01-15USAcompleted
22Wireless MouseElectronics249.9999.982024-01-16Canadacompleted
33Office ChairFurniture1349.99349.992024-01-17USAcompleted

Expected output: Cust 1's Jan 20 + Cust 2's Feb 1

Hint

The hint for this one spells out most of the query, so it stays in the editor. Reach for 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

Window Functions: ROW_NUMBERMedium · FreeMonth-over-Month Customer GrowthMedium · FreeRANK vs DENSE_RANK Side-by-SideMedium · FreeTop 3 Salary Tiers (DENSE_RANK)Medium · FreeSecond-Highest Earner Per Department (ROW_NUMBER)Medium · FreeSalary vs Department Average (PARTITION BY)Medium · Free

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