想象一下下表(称为TestTable):
id somedate somevalue
-- -------- ---------
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
Run Code Online (Sandbox Code Playgroud)
我想要一个以日期顺序返回运行总计的查询,例如:
id somedate somevalue runningtotal
-- -------- --------- ------------
45 01/Jan/09 3 3
23 08/Jan/09 5 8
12 02/Feb/09 0 8
77 14/Feb/09 7 15
39 20/Feb/09 34 49
33 02/Mar/09 6 55
Run Code Online (Sandbox Code Playgroud)
我知道在SQL Server 2000/2005/2008中有各种方法可以做到这一点.
我对使用aggregate-set-statement技巧的这种方法特别感兴趣:
INSERT INTO @AnotherTbl(id, somedate, somevalue, runningtotal)
SELECT id, somedate, somevalue, null
FROM TestTable
ORDER …Run Code Online (Sandbox Code Playgroud) 我在查询SQL Server 2008时遇到了麻烦,我搜索了互联网,但我没有发现任何内容,或者它没有给我任何关于如何操作的想法.
使用Northwind数据库,我需要查询表OrderDetails并选择OrderID和UnitPrice显示这样的东西,
OrderID - UnitPrice
------------------------
10248 - 14.00
10248 - 9.80
10248 - 34.80
10249 - 18.60
Run Code Online (Sandbox Code Playgroud)
结果应该是:
OrderID - UnitPrice
------------------------
10248 - 14.00
10248 - 23.80
10248 - 58.6
10249 - 18.60
Run Code Online (Sandbox Code Playgroud)