假设我有一个这样的表:
我希望最终得到如下 3 行:
我想我可以用滞后函数来做到这一点。但这样做的正确方法是什么?提前致谢。
最佳答案
假设每个入学日期都有一个退出日期,您可以尝试以下操作:
Select D.Person,MAX(Entrance) Entrance, MAX(Exit) Exit
From
(
Select table_name.*,
MOD(ROW_NUMBER() Over (Partition By Person Order By Entrance, Exit),
COUNT(*) Over (Partition By Person)/2) grp
From table_name
) D
Group By D.Person, D.grp
查看demo .
关于sql - 如何将 2 行(即进入和退出日期)变成 1 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73583264/