By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
WITH sales AS
(SELECT 2018 AS Year, 'July' As Month, 1 AS Week, 2000 As Sales FROM SYSIBM.SYSDUMMY1 UNION ALL
SELECT 2018 AS Year, 'July' As Month, 2 AS Week, 1500 As Sales FROM SYSIBM.SYSDUMMY1 UNION ALL
SELECT 2018 AS Year, 'July' As Month, 3 AS Week, 1000 As Sales FROM SYSIBM.SYSDUMMY1 UNION ALL
SELECT 2018 AS Year, 'July' As Month, 4 AS Week, 2000 As Sales FROM SYSIBM.SYSDUMMY1 UNION ALL
SELECT 2019 AS Year, 'July' As Month, 1 AS Week, 1750 As Sales FROM SYSIBM.SYSDUMMY1 UNION ALL
SELECT 2019 AS Year, 'July' As Month, 2 AS Week, 2100 As Sales FROM SYSIBM.SYSDUMMY1
)
SELECT
s.Year,
s.Month,
s.Week,
s.Sales,
SUM(s.sales) over (PARTITION BY s.Year, s.Month ORDER BY s.Week) as running_total
FROM sales s;
YEAR | MONTH | WEEK | SALES | RUNNING_TOTAL |
---|---|---|---|---|
2018 | July | 1 | 2000 | 2000 |
2018 | July | 2 | 1500 | 3500 |
2018 | July | 3 | 1000 | 4500 |
2018 | July | 4 | 2000 | 6500 |
2019 | July | 1 | 1750 | 1750 |
2019 | July | 2 | 2100 | 3850 |