首页 > 解决方案 > Oracle SQL - 总和下一个 X 行数

问题描述

我在 Oracle 数据库中有一个表,其中包含每周预计的销售额,并且想总结每周接下来的 3 周。这是一个产品的表格示例,以及我希望在最后一栏中实现的目标。

在此处输入图像描述

我尝试了 Sum(Proj Sales) over(按日期按产品订单分区),但我不确定如何配置 Sum Over 以获得我想要的东西。

任何帮助将不胜感激。

标签: sqloraclesum

解决方案


您可以使用分析函数。假设接下来的三周是当前行和接下来的两个:

select t.*,
       sum(proj_sales) over (partition by product
                             order by date
                             rows between current row and 2 following
                            ) as next_three_weeks
from t;

推荐阅读