有这样一个问题,如何按日期累计值
如下表所示:
日期 数值
2009-02-05 2.4
2009-02-06 2
2009-02-07 5
2009-02-08 3.5
2009-02-05 2.4
2009-02-06 2
2009-02-07 5
2009-02-08 3.5
要实现如下结果:
日期 数值 累计
2009-02-05 2.4 2.4
2009-02-06 2 4.4
2009-02-07 5 9.4
2009-02-08 3.5 12.9
使用以下sql语句即可实现:
--累计计算
select aa.日期,aa.数值,sum(lj.数值) as 累计
from 累计 lj inner join
(select *
from 累计) aa on lj.日期<=aa.日期
where (aa.日期<='2009-02-08') --日期可变为时间段
group by aa.日期,aa.数值
order by aa.日期