Back to Practice
#0386
Revenue Per Active User
MediumSQL24 min20 XP
Problem
Return revenue_per_active_user from events joined to purchases by user_id.
Why This Matters
SQL interviews usually test whether you can turn a business question into the right rows, grouping level, join type, and edge-case behavior.
Schema
events(user_id INTEGER); purchases(user_id INTEGER, amount REAL)
Examples
Example 1
Input150 revenue and 3 active users
Output50
Distinct active users are counted from events; revenue comes from purchases.
Constraints
- Return only the requested columns.
- Use deterministic ORDER BY when multiple rows are returned.
- Assume SQLite-compatible SQL unless the prompt states otherwise.
CodeSQL
Visible browser tests run here when available.
Testcases1 visible / 3 hidden categories
Core SQL case
Input150 revenue and 3 active users
Expected[[50]]
Distinct active users are counted from events; revenue comes from purchases.
Hidden Test Categories
Empty or missing matchesDuplicate rows or tiesNULL values where the pattern commonly breaks