任何人都可以帮助我在Sql Server 2014
中为以下条件编写查询:
我需要在第二行CurrentKM
列中添加第一行LastKM
值,就像它必须要去的那样。
VNo CurrKM LastKM
1 15000 0
2 16000 15000
3 17000 16000
答案 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