在数据表中用sql实现累计计算查询(sql server 2000)

有这样一个问题:如何按时间求累计值如下表所示 日期数值
2005-5-12.4
2005-5-22
2005-5-35
2005-5-43.5

要实现如下结果:

日期数值累计
2005-5-12.42.4
2005-5-224.4
2005-5-359.4
2005-5-43.512.9

使用如下sql语句就能实现以上功能了

--累计计算
SELECT aa.日期, aa.数值, SUM(lj.数值) AS 累计
FROM 累积 lj INNER JOIN
(SELECT *
FROM 累积) aa ON lj.日期 <= aa.日期
WHERE (aa.日期 <= '2005-05-04') --日期可以变成时间段
GROUP BY aa.日期, aa.数值
ORDER BY aa.日期

Published At
Categories with 数据库类
comments powered by Disqus