按组列出的SQL Server累积总和
我有一个以下格式的表(SQL Server 2005): 虚拟id、注册日期、项目id、数量、价格 我想添加一个新列(累计),该列计算按注册日期登记的每个商品的累计总数,如图所示:按组列出的SQL Server累积总和,sql,sql-server,cumulative-sum,Sql,Sql Server,Cumulative Sum,我有一个以下格式的表(SQL Server 2005): 虚拟id、注册日期、项目id、数量、价格 我想添加一个新列(累计),该列计算按注册日期登记的每个商品的累计总数,如图所示: dummy_id date_registered item_id quantity price cumulative 1 2013-07-01 100 10 34.5 10 2 2013-07-01
dummy_id date_registered item_id quantity price cumulative
1 2013-07-01 100 10 34.5 10
2 2013-07-01 145 8 2.3 8
3 2013-07-11 100 20 34.5 30
4 2013-07-23 100 15 34.5 45
5 2013-07-24 145 10 34.5 18
Thanx在SQL Server 2005中,我会使用一个相关的子查询:
select dummy_id, date_registered, item_id, quantity, price,
(select sum(quantity)
from t t2
where t2.item_id = t.item_id and
t2.date_registered <= t.date_registered
) as cumulative
from table t;
select dummy_id, date_registered, item_id, quantity, price,
sum(quantity) over (partition by item_id order by date_registered) as cumulative
from table t;