SQLserver LEAD和LAG函數

--測試數據
if not object_id(N'Tempdb..#T') is null
    drop table #T
Go
Create table #T([Id] varchar(10),[Value]  int )
Insert #T
select 'A',1 union all
select 'B',2 union all
select 'C',3 union all
select 'D',4 union all
select 'E',5
Go
--測試數據結束

SELECT *,
       LEAD(Value, 1, 666) OVER (ORDER BY Value) AS LEADVALUE,  --提前1行,默認值666
       LAG(Value, 2, 888) OVER (ORDER BY Value) AS LAGVALUE  --滯後2行,默認值888
FROM #T;

SELECT *,
       LEAD(Value, 1) OVER (ORDER BY Value) AS LEADVALUE,  --提前1行,默認值666
       LAG(Value, 2) OVER (ORDER BY Value) AS LAGVALUE  --滯後2行,默認值888
FROM #T;

官方文檔:LAG (Transact-SQL)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章