在SQL Server 2012中查找上一行的计算值

时间:2017-07-29 13:06:14

标签: sql sql-server sql-server-2012

a sql query gives result as shown

我想要一个额外的计算列,通过从序号为1的工资减去扣除来填充,而对于其他序列没有工资将是先前计算的行,该行应用于当前行工资扣除,如下图所示

populated result would be like this

请帮我找出结果。提前谢谢

1 个答案:

答案 0 :(得分:1)

在SQL Server 2012+中,您将使用累积和和减法:

select t.*,
       (salary - sum(deduct) over (partition by employee order by sn)) as calc
from t;