繁体   English   中英

SQL Server查询-需要将前一行值与当前列值相加

[英]SQL Server Query - Need to add the previous row value with the current column value

我需要Running_Qty字段中的数据。 我已经预先填写好以供参考。 但是我需要查询才能填充它。初始值为100。因此100-数量= 90依此类推。

您似乎想要:

select t.*,
       (100 - sum(quantity) over (order by id)) as running_qty
from t;

累积总和需要SQL Server 2012+。 在早期版本中,使用apply

select t.*, (100 - sum_quantity)
from t cross apply
     (select sum(t2.quantity) as sum_quantity
      from t t2
      where t2.id <= t.id
     ) t2;

您也可以使用

CREATE TABLE T(
  ID INT IDENTITY(1, 1),
  Quantity INT
);

INSERT INTO T VALUES
(10),
(20),
(30),
(40),
(50),
(60);

SELECT  T.*, 100-
        ( SELECT    SUM(Quantity)
          FROM      T TT
          WHERE     TT.Quantity <= T.Quantity
        ) AS Results
FROM    T;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM