SQL QuestSQL Interview Questions › Subqueries & CTEs

Top Spender Per Country

HardProQuerying BasicsSubqueries & CTEsAggregation & Grouping

Write a SQL query to find the customer who spent the most in each country. Return country, customer_id, and total_spent. Order by country ascending, then customer_id ascending as a tie-breaker if two customers tie for top spender in the same country.

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: One row per country with top spender

Hint

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

Concepts

SELECT Subquery GROUP BY HAVING Aggregation Subquery / Ranking

Practise the topic: SQL practice questions · CTE practice · GROUP BY exercises · Advanced SQL interview questions

In these company practice sets

Amazon · Google · Ramp · Shopify · Snowflake · Wise · 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 · FreeRunning Total RevenueHard · FreeYear-over-Year GrowthHard · Free7-Day Rolling Revenue AverageHard · FreeMulti-CTE Revenue PipelineHard · FreeWealthy Survivor ProfileHard · 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