SQL Server下一列中的下一行值

时间:2019-10-23 15:30:39

标签: sql sql-server

如何将当前行中的下一行值显示为SQL Server中的下一列?

桅杆

 ID  Name
 ---------
 1   XYZ
 2   abc
 3   MNO

详细信息

 ID  Date
 -------------
 1   1/1/2019
 1   1/2/2019
 2   2/2/2019
 2   3/3/2019
 2   3/4/2019
 3   2/2/2019
 3   4/2/2019

我需要结果看起来像这样:

    ID  Date      Next Date
    ------------------------
    1   1/1/2019   1/2/2019
    1   1/2/2019   NULL
    2   2/2/2019   3/3/2019
    2   3/3/2019   3/4/2019
    2   3/4/2019   NULL
    3   2/2/2019   4/2/2019
    3   4/2/2019   NULL

1 个答案:

答案 0 :(得分:4)

使用lead()窗口分析功能

select ID, Date, lead(Date) over (partition by ID Order by Date) as Next_Date
  from Detail

Demo