引用上一行中的值

时间:2015-04-27 08:48:32

标签: sql sql-server

任何人都可以帮助我在Sql Server 2014中为以下条件编写查询: 我需要在第二行CurrentKM列中添加第一行LastKM值,就像它必须要去的那样。

VNo  CurrKM   LastKM
1    15000    0
2    16000    15000
3    17000    16000 

2 个答案:

答案 0 :(得分:3)

尝试使用LAG:

Select VNo,CurrKM, LAG(CurrKM,1,0) over (order by VNo asc) LastKM
From Table

答案 1 :(得分:0)

declare @t table (id int,currkm int)
insert into @t (id,currkm)values (1,15000),(2,16000),(3,17000)
;with cte as(
select distinct id,currkm,ROW_NUMBER()OVER( order by id desc,currkm desc)R from @t)
select c.id,c.currkm,cc.currkm from cte c
LEFT JOIN cte cc
on cc.R - 1 = c.R
ORDER BY c.id