SQL QuestSQL Interview Questions › Subqueries & CTEs

Multi-CTE Revenue Pipeline

HardFreeQuerying BasicsSubqueries & CTEsJoinsAggregation & GroupingWindow Functions

Build a multi-step analysis using chained CTEs. Step 1: calculate each customer's total_spent. Step 2: rank customers by total_spent using DENSE_RANK. Step 3: join with customers table to get name and membership. Final output: name, membership, total_spent, spending_rank. Only show top 10, ordered by spending_rank. Multi-CTE pipelines test your ability to decompose complex problems, which is what FAANG interviewers really evaluate.

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

customers

customer_idnameemailsignup_datemembershiptotal_orders
1John Smithjohn.smith@email.com2023-01-15Gold15
2Emma Wilsonemma.wilson@email.com2023-03-20Silver8
3Michael Brownmichael.brown@email.com2023-02-10Gold12

Expected output: name: Alice, membership: Gold, total_spent: 5000, spending_rank: 1

Hint

WITH step1 AS (aggregate), step2 AS (add rank to step1), final SELECT joins step2 with customers. Each CTE builds on the previous one.

Concepts

SELECT CTE JOIN Aggregation Window Functions GROUP BY

Practise the topic: SQL practice questions · CTE practice · JOIN practice · GROUP BY exercises · Window function practice · Ranking function practice · Advanced SQL interview questions

In these company practice sets

Amazon · Ramp · Shopify · Snowflake · Stripe · 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 · FreeRunning Total RevenueHard · FreeYear-over-Year GrowthHard · Free7-Day Rolling Revenue AverageHard · FreeWealthy Survivor ProfileHard · ProOrder Sessionization by CustomerHard · Pro

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