对同一表中先前的行值求和



我试着求和前几行的值,我想求和前几行的数量"库存"并将结果放到每行中,example

tbody> <<tr>
ItemID Qty Stockon Hand(本列更新的结果)
100011
100056(前一行数量加当前行数量之和)
100028(前一行数量加当前行数量之和)
100019(前一行数量加当前行数量之和)

下面是一个工作示例。注意,我冒昧地为适当的序列添加了一列…ID,但也可以使用日期列

您可能还注意到我添加了partition by ItemID

Declare @YourTable Table ([ID] int,[ItemID] int,[Qty] int)
Insert Into @YourTable Values 
(1,1000,1)
,(2,1000,5)
,(3,1000,2)
,(4,1000,1)

Select * 
,OnHand = sum(Qty) over (partition by ItemID order by ID ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
from @YourTable

结果

ID  ItemID  Qty OnHand
1   1000    1   1
2   1000    5   6
3   1000    2   8
4   1000    1   9

相关内容

  • 没有找到相关文章

最新更新