id year
1 2017
1 2018
1 2019
2 2018
2 2019
3 2017
3 2019
8 2017
4 2018
4 2019
我需要创建基于id和year列的列:
输出:
id year mark
1 2017 P
1 2018 P
1 2019 N
2 2018 P
2 2019 N
3 2017 N
3 2019 N
8 2017 P
4 2018 P
4 2019 N
您可以尝试Lead()函数。但请检查Id = 8的输出。理想情况下,它应该为“ N”
SELECT *
,CASE WHEN LEAD(Year) OVER (PARTITION BY ID ORDER BY YEAR) - YEAR = 1 THEN 'P' ELSE 'N' END
FROM #Table
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句