Sql server 2008 查询以添加下一行';这是同一列

Sql server 2008 查询以添加下一行';这是同一列,sql-server-2008,Sql Server 2008,我需要一个可以这样求和的查询(前一行与当前行) 我想要行1.MoneyPaid+row2.MoneyPaid,row2.MoneyPaid+row3.MoneyPaid,row3.MoneyPaid+row4.MoneyPaid试试这个: SELECT m1.moneypaid, ( SELECT TOP 1 m2.moneypaid FROM @Money m2 WHERE m2.id <m1.id ORDER BY m2.id DES

我需要一个可以这样求和的查询(前一行与当前行)

我想要行1.MoneyPaid+row2.MoneyPaid,row2.MoneyPaid+row3.MoneyPaid,row3.MoneyPaid+row4.MoneyPaid

试试这个:

  SELECT m1.moneypaid, 
   ( SELECT TOP 1 m2.moneypaid 
     FROM @Money m2 
     WHERE m2.id <m1.id  
     ORDER BY m2.id  DESC
   ) AS Prev_Value
   ,m1.moneypaid + ( SELECT TOP 1 m2.moneypaid 
     FROM @Money m2 
     WHERE m2.id <m1.id  
     ORDER BY m2.id  DESC
   )
选择m1.moneypaid,
(选择顶部1 m2.moneypaid
来自@Money m2
其中m2.id尝试以下方法:

  SELECT m1.moneypaid, 
   ( SELECT TOP 1 m2.moneypaid 
     FROM @Money m2 
     WHERE m2.id <m1.id  
     ORDER BY m2.id  DESC
   ) AS Prev_Value
   ,m1.moneypaid + ( SELECT TOP 1 m2.moneypaid 
     FROM @Money m2 
     WHERE m2.id <m1.id  
     ORDER BY m2.id  DESC
   )
选择m1.moneypaid,
(选择顶部1 m2.moneypaid
来自@Money m2
其中m2.id