SQL Quest › SQL Interview Questions › Aggregation & Grouping

Active Spender Cohort (HAVING)

MediumFreeQuerying BasicsAggregation & Grouping

Retention wants the customer cohort that placed at least 3 orders along with each one's total spend — the high-engagement segment worth a loyalty offer.

Group orders by customer_id. Show customer_id, order_count and total_spent (SUM of total). Filter with **HAVING COUNT(*) >= 3**. Order by total_spent descending.

WHERE filters rows before grouping, HAVING filters groups after aggregation. You can't put COUNT(*) >= 3 in WHERE because the aggregate doesn't exist until after GROUP BY — that's the rule HAVING was added to handle.

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". Free accounts get 10 free challenge solves, and this can be one of them.

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: Only Cust 1 appears

Hint

The hint for this one spells out most of the query, so it stays in the editor. Reach for SELECT, GROUP BY, HAVING, and open the hint there if you stall.

Concepts

SELECT GROUP BY HAVING Aggregation

Practise the topic: SQL practice questions · GROUP BY exercises

Read the concept: WHERE vs HAVING

In these company practice sets

Ramp · Revolut · Walmart · Microsoft

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

Related questions

Department Tenure SpanMedium · FreeMonth-over-Month Customer GrowthMedium · FreeDay-of-Week Order Pattern (strftime)Medium · FreeGenre-Spanning Directors (HAVING)Medium · FreeFailure Clustering — State + YearMedium · FreeHow Long Has Each Card Been Active?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