LAG: Calculate Day-Over-Day Sales Change
SQL coding challenge · Difficulty: easy · +50 XP
Problem
The growth team's daily digest shows raw sales AND how much it changed from the previous day — positive = growth, negative = decline.
Tables
Table: daily_sales
| sale_id | day_name | amount | | 1 | Monday | 1000 | | 2 | Tuesday | 1500 | | 3 | Wednesday | 800 | | 4 | Thursday | 1200 |
Expected Output
| sale_id | day_name | amount | prev_amount | day_over_day_change | | 1 | Monday | 1000 | NULL | NULL | | 2 | Tuesday | 1500 | 1000 | 500 | | 3 | Wednesday | 800 | 1500 | -700 | | 4 | Thursday | 1200 | 800 | 400 |
- Return:
sale_id,day_name,amount,prev_amount,day_over_day_change day_over_day_change=amount - prev_amount- First row → NULL for both prev_amount and change
- Sort by
sale_idascending