我有一个表,其中包含[月/年],[日期],[数量]列
当我运行此查询时,“ 从VOLUME中选择[月/年],[日期],sum([卷])作为'sum',其中[月/年] ='2018-10-01'组按[月/年],按[日期]按[日期] 排序”,它将显示以下内容:
[Month/Year] [Date] [Volume]
2018-10-01 2018-10-15 2000
2018-10-01 2018-10-16 4000
2018-10-01 2018-10-17 7000
2018-10-01 2018-10-18 6000
2018-10-01 2018-10-19 7000
2018-10-01 2018-10-20 7000
2018-10-01 2018-10-21 8000
2018-10-01 2018-10-22 9000
2018-10-01 2018-10-23 11000
2018-10-01 2018-10-24 10000
2018-10-01 2018-10-25 13000
2018-10-01 2018-10-26 12000
2018-10-01 2018-10-27 8000
2018-10-01 2018-10-28 8000
2018-10-01 2018-10-29 9000
2018-10-01 2018-10-30 8000
当我运行此查询时,它给我的输出是错误的:
select a.[date], SUM(b.[Volume]) as barge_sum
from VOLUME a
INNER JOIN VOLUME b ON a.[date] >= b.[date]
where a.[Month/Year] = '2018-10-01'
group by a.[date]
order by a.[date]
输出:
2018-10-15 4000
2018-10-16 24000
2018-10-17 91000
2018-10-18 114000
2018-10-19 182000
2018-10-20 231000
2018-10-21 328000
2018-10-22 450000
2018-10-23 671000
2018-10-24 710000
2018-10-25 1092000
2018-10-26 1152000
2018-10-27 832000
2018-10-28 896000
2018-10-29 1089000
2018-10-30 1032000
输出应该以这种方式累积:
我在做什么错?有人可以协助吗?
答案 0 :(得分:1)
您可以使用窗口功能sum()
select a.[date], SUM(a.[Volume]) over(order by a.[date]) as barge_sum
from VOLUME a
where a.[Month/Year] = '2018-10-01'