可能的重复项:
计算 SqlServer 中的运行总计
我是SQL的新手。这个问题看起来很基本,但我就是找不到答案,也许我没有点击正确的关键字。
在SQL server 2008 R2中,我有一个这样的表:
Date Value
---------------
2012-1-1 100
2012-1-2 50
2012-1-4 200
我想创建一个具有累积值的视图,如下所示:
Date Total
---------------
2012-1-1 100
2012-1-2 150
2012-1-4 350
我应该怎么做?
这应该得到运行总计。 试试这个:
SELECT dateHere,
total,
total + COALESCE(
(
SELECT SUM(total)
FROM myTable b
WHERE b.dateHere < a.dateHere
), 0) AS RunningTotal
FROM myTable a
ORDER BY dateHere
SQLFiddle 演示
以下是使用相关子查询执行此操作的一种方法:
select t.date, t.value,
(select sum(t2.value)
from t t2
where t2.date <= t.date
) as cumvalue
from t