SQL QuestSQL Interview Questions › Window Functions

First and Last Order per Customer

HardProQuerying BasicsWindow Functions

Amazon's retention analytics team wants to see each buyer's first and last purchased item alongside their full order history — useful for spotting category migration (e.g., the buyer who started in Books and is now deep in Electronics). For each customer's orders, show the customer_id, order_id, product, order_date, first_product (the product from their earliest order), and last_product (the product from their latest order). Use FIRST_VALUE and LAST_VALUE window functions. Sort by customer_id, order_date. FIRST_VALUE/LAST_VALUE are an Amazon interview staple because they force you to reason about frame clauses — the default RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW silently breaks LAST_VALUE, and most candidates ship wrong results without noticing.

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: Each row shows first_product=Laptop, last_product=Tablet

Hint

This is a Pro challenge — the hint, the step-by-step tutor and the reference solution open in the app.

Concepts

SELECT Window Functions FIRST_VALUE LAST_VALUE Frame Clause

Practise the topic: SQL practice questions · Window function practice · Advanced SQL interview questions

In these company practice sets

Airbnb · Amazon · Apple · Databricks · OpenAI · Plaid · Revolut · Snowflake · Uber · DoorDash · Walmart

A SQL Quest challenge matched to patterns reported for these companies — not a question any of them has published.

Related questions

Cumulative Distinct Customers Over TimeHard · FreeSalary Rank Within DepartmentHard · FreeRunning Total RevenueHard · FreeYear-over-Year GrowthHard · Free7-Day Rolling Revenue AverageHard · FreeMulti-CTE Revenue PipelineHard · 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