0
我想计算一个表上的运行总数,同时限制查询返回的行数。SQL Server 2012 - 正在运行总计
我的表看起来是这样的:
create table TestTable
(
id int,
somedate date,
somevalue int
)
insert into TestTable values
(45, '01/Jan/09', 3),
(23, '08/Jan/09', 5),
(12, '02/Feb/09', 0),
(77, '14/Feb/09', 7),
(39, '20/Feb/09', 34),
(33, '02/Mar/09', 6)
,我可以得到一个运行总计“价值”这样的所有行:
select id,
somedate,
somevalue,
sum(somevalue) over(order by somedate) as runningtotal
from TestTable
我想限制返回的结果到特定的日期范围,同时仍然可以从表格的开头算起运行总数。因此,例如,我想要在20/Feb/09之后或之后的所有行。然后,我希望我的结果集的样子:
39 20/Feb/09 49
33 02/Mar/09 55
但是,如果我只是做一个where somedate > 20/Feb/09
,然后我得到
39 20/Feb/09 34
33 02/Mar/09 40
这不是我想要的,因为它的计算运行总计只在窗口内。
有没有办法得到我想要的东西?