Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
按组列出的SQL Server累积总和_Sql_Sql Server_Cumulative Sum - Fatal编程技术网

按组列出的SQL Server累积总和

按组列出的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

我有一个以下格式的表(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        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;