SQL Quest › SQL Interview Questions › Subqueries & CTEs

Order Sessionization by Customer

HardProQuerying BasicsSubqueries & CTEsWindow FunctionsConditional LogicAggregation & GroupingDate Functions

Meta's sessionization logic is the foundation of every engagement metric they ship — Facebook session time, Instagram session depth, WhatsApp active sessions. Group each customer's orders into sessions: a new session starts whenever 30+ days pass between consecutive orders (by order_date). Using CTEs, show customer_id, order_id, order_date, and session_number (starting at 1 per customer). Sort by customer_id, order_date. The LAG + running-SUM sessionization pattern is a signature Meta Data Engineer / Data Scientist (Analytics) interview question — if you can ship this query, you can ship every downstream engagement metric they build on top of it.

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: session 1, 1, 2, 2 (30+ day gap creates new session)

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 CASE SUM Date Functions Window Functions + CTE

Practise the topic: SQL practice questions · CTE practice · Window function practice · CASE WHEN practice · GROUP BY exercises · Date function practice · Advanced SQL interview questions

Read the concept: SQL CTE tutorial

In these company practice sets

Airbnb · Anthropic · Meta · Netflix · OpenAI · Revolut · Spotify · Stripe · Uber · TikTok

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

Related questions

Spend and Disputes Per Cardholder — Without the Fan-OutMedium · FreeSignup Cohort Activation Within 30 DaysMedium · FreeWealthy Survivor ProfileHard · ProCumulative Distinct Customers Over TimeHard · FreeTop Spender Per CountryHard · ProRunning Total RevenueHard · 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