【发布时间】:2021-12-28 19:08:13
【问题描述】:
我有一个查询会输出以下结果集
基本上,它是员工在特定日期所处的状态以及他们的状态的结果集。我需要的是一种方法来获取员工切换状态或从非活动更改为活动的行。我在图片中突出显示了我需要的行。我可以使用复杂的连接得到结果,但我想看看是否可以使用一些分区函数。
非常感谢任何帮助。
【问题讨论】:
-
您可能会查看 LAG。 docs.microsoft.com/en-us/sql/t-sql/functions/…
-
喜欢
CASE WHEN LAG(STATE) OVER (PARTITION BY <useridcolumn> ORDER BY EFFDT) <> STATE THEN 'State was changed' END AS state_change(例如)。 -
根据问题指南,请不要发布代码、数据、错误消息等的图像 - 将文本复制或输入到问题中。请保留将图像用于图表或演示渲染错误,无法通过文本准确描述的事情。
-
请提供足够的代码,以便其他人更好地理解或重现问题。
标签: sql sql-server tsql window-functions