簡體   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