SQL QuestSQL Interview Questions › Subqueries & CTEs

Engagement Streaks (3+ Orders, ≤7-Day Gaps)

HardProQuerying BasicsSubqueries & CTEsWindow FunctionsAggregation & Grouping

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_idcustomer_idproductcategoryquantitypricetotalorder_datecountrystatus
11Laptop ProElectronics11299.991299.992024-01-15USAcompleted
22Wireless MouseElectronics249.9999.982024-01-16Canadacompleted
33Office ChairFurniture1349.99349.992024-01-17USAcompleted

Expected output: Streak Jan-1..Jan-10 length=3; Jan-25 starts a separate length-1 streak that does not qualify

Hint

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

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

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