SQL Quest › SQL Interview Questions › Subqueries & CTEs
Engagement Streaks (3+ Orders, ≤7-Day Gaps)
Find customers whose ordering pattern shows engagement streaks — runs of 3 or more orders where every consecutive pair is at most 7 days apart. Order by streak_length descending, then customer_id. This is the gaps-and-islands pattern that powers session-style metrics at every e-commerce shop: when does a customer 'go hot' for a stretch?
For each qualifying streak, show customer_id, streak_start (first order_date in the run), streak_end (last order_date), and streak_length (count of orders in the streak).
The pattern (this is the interview answer): use LAG to get the previous order date per customer, flag a new streak whenever the gap exceeds 7 days, then SUM the flag as a running total — that running total IS the streak id. Group by (customer_id, streak_id) and HAVING COUNT >= 3.
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_id | customer_id | product | category | quantity | price | total | order_date | country | status |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | Laptop Pro | Electronics | 1 | 1299.99 | 1299.99 | 2024-01-15 | USA | completed |
| 2 | 2 | Wireless Mouse | Electronics | 2 | 49.99 | 99.98 | 2024-01-16 | Canada | completed |
| 3 | 3 | Office Chair | Furniture | 1 | 349.99 | 349.99 | 2024-01-17 | USA | completed |
Expected output: Streak Jan-1..Jan-10 length=3; Jan-25 starts a separate length-1 streak that does not qualify
Hint
Concepts
SELECT CTE Window Functions LAG Running Total GROUP BY HAVING Gaps and Islands
Practise the topic: SQL practice questions · CTE practice · Window function practice · GROUP BY exercises · Advanced SQL interview questions
In these company practice sets
Airbnb · Amazon · Anthropic · Databricks · Google · OpenAI · Ramp · Revolut · Snowflake · Uber
A SQL Quest challenge matched to patterns reported for these companies — not a question any of them has published.
Related questions
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