task Monthly / weekly buckets · easy
Active buyers per month
Return month (YYYY-MM) and active_shoppers: how many different shoppers placed at least one non-cancelled order that month.
what to return
- Columns
monthactive_shoppersin this order- Rows
- 4 rows · any order
- Watch for
- Cancelled orders don't count.
- A shopper with several orders in a month counts once.
- Skill
- Count distinct people per calendar month. Refresher: Date boundaries & monthly buckets →
expected result
Your query should return exactly these columns and values. Run it and compare.
expected result4 rows · any order
| month | active_shoppers |
|---|---|
| 2025-01 | 3 |
| 2025-02 | 8 |
| 2025-03 | 12 |
first 3 of 4 rows
data you can query
Sample rows from each table. Each column shows its type underneath; → marks a link to another table.
sales_orders5 columns · 33 rows
| idinteger · key | shopper_idinteger → shoppers | order_datetext | statustext | delivered_datetext |
|---|---|---|---|---|
| 101 | 1 | 2025-01-04 | delivered | 2025-01-08 |
| 102 | 2 | 2025-01-06 | delivered | 2025-01-07 |
| 103 | 1 | 2025-01-15 | delivered | 2025-01-20 |
| 104 | 3 | 2025-01-18 | cancelled | NULL |
| 105 | 4 | 2025-01-22 | delivered | 2025-01-31 |
showing 5 of 33 rows
solution.sql
Hints and the answer are always available. Using them counts the question as solved with help.