我正在开发一个 Oracle SQL 查询,用于查找按两个字段维度分组的数字字段的累积总和。
我使用 Oracle Sales History 模式中的 SALES 表作为参考。
实际查询如下:
Select DISTINCT CHANNEL_ID, PROD_ID, TIME_ID, SUM (AMOUNT_SOLD) OVER (PARTITION BY CHANNEL_ID, PROD_ID ORDER BY TIME_ID) AS "Cumulative Sum"
From SH.SALES
Order By CHANNEL_ID ASC, PROD_ID ASC, TIME_ID ASC;
查询结果:
CHANNEL_ID PROD_ID TIME_ID Cumulative Sum
---------- ------- ------ --------------
2 13 10-JAN-98 1205.99
2 13 16-JAN-98 2335.03
2 13 11-FEB-98 4089.16
...
这个查询的结果结果是好的,但它缺少一件事。
它不显示没有销售交易的日期的累计金额。
我需要的是以下结果:
CHANNEL_ID PROD_ID TIME_ID Cumulative Sum
---------- ------- ------ --------------
2 13 10-JAN-98 1205.99
2 13 11-JAN-98 1205.99
2 13 12-JAN-98 1205.99
2 13 13-JAN-98 1205.99
...
...
2 13 16-JAN-98 2335.03
2 13 17-JAN-98 2335.03
2 13 18-JAN-98 2335.03
...
...
2 13 11-FEB-98 4089.16
2 13 12-FEB-98 4089.16
...
...