SUM OVER PARTITION BY: Running Total Per Department
SQL coding challenge · Difficulty: easy · +50 XP
Problem
Each department runs its own budget. Show a running total per department — the counter starts fresh for each department.
Tables
Table: dept_sales
| sale_id | dept | day_name | amount | | 1 | IT | Mon | 100 | | 2 | IT | Tue | 200 | | 3 | IT | Wed | 150 | | 4 | HR | Mon | 300 | | 5 | HR | Tue | 200 | | 6 | HR | Wed | 100 |
Expected Output
| sale_id | dept | day_name | amount | dept_running_total | | 4 | HR | Mon | 300 | 300 | | 5 | HR | Tue | 200 | 500 | | 6 | HR | Wed | 100 | 600 | | 1 | IT | Mon | 100 | 100 | | 2 | IT | Tue | 200 | 300 | | 3 | IT | Wed | 150 | 450 |
- Return:
sale_id,dept,day_name,amount,dept_running_total - Each department's running total resets independently
- Sort by
dept, thensale_idascending - Function:
SUM() OVER (PARTITION BY dept ORDER BY sale_id)