我有一个SQL Server查询的结果集如下:
项目周数量
1 1 500
1 2 -100
1 3 -200
2 1 800
2 2 -600
2 3 -800
我想知道的是,是否可以推导出第四列,为每个项目提供总计金额?
我想要的结果如下:
项目周总金额
1 1 500 500
1 2 -100 400
1 3 -200 200
2 1 800 800
2 2 -600 200
2 3 -800 -600
我正在使用SQL Server 2008
答案 0 :(得分:1)
尝试SUM() OVER
SELECT
item,
week,
amount,
SUM(amount) over (partition by item order by Week) as Total
FROM yourTable
答案 1 :(得分:1)
您需要一个SQL Server 2012来支持ROWS PRECEDING个功能。
SELECT
item,
week,
amount,
SUM(amount) over (partition by item order by Week
ROWS UNBOUNDED PRECEDING
) as Total
FROM yourTable
http://stevestedman.com/2012/03/rows-preceding-and-following-in-tsql-2012/