Sql 如何根据日期范围和最大日期分组求和值?
我有如下数据集——按周和产品汇总的数量和销售额Sql 如何根据日期范围和最大日期分组求和值?,sql,date,sum,Sql,Date,Sum,我有如下数据集——按周和产品汇总的数量和销售额 Week Product Quantity Sales ---- ------- -------- ----- 1 12a 6 600 2 12a 4 400 3 12a 3 300 4 12a 1 100 5
Week Product Quantity Sales
---- ------- -------- -----
1 12a 6 600
2 12a 4 400
3 12a 3 300
4 12a 1 100
5 12a 3 300
6 12a 1 100
7 12a 4 400
8 12a 6 600
9 12a 2 200
对于每一周,我需要将该周的数量和销售额加上前3周的总和
预期结果将是:
Week Product Quantity Sales
---- ------- -------- -----
1 12a 14 1400 --> Week 1 + Week 2 + Week 3 + Week 4 but row labeled Week 1
2 12a 11 1100
我觉得我需要一个每周评估的循环使用窗口功能:
select t.*,
sum(quantity) over (partition by product
order by week
rows between current row and 3 following
) as quantity,
sum(sales) over (partition by product
order by week
rows between current row and 3 following
) as sales
from t;