我在 SSMS 中有一张表:
Id Date Value
111 1/1 x
111 1/2 x
111 1/3 y
111 1/4 y
111 1/5 x
111 1/6 x
222 1/3 z
222 1/5 x
222 1/7 x
我想保留值更改日期的记录。所以输出将是:
Id Date Value
111 1/1 x
111 1/3 y
111 1/5 x
222 1/3 z
222 1/5 x
什么是查询这个的好方法?
非常感谢!
使用lag()
:
select t.*
from (select t.*, lag(value) over (partition by id order by date) as prev_value
from t
) t
where prev_value is null or prev_value <> value;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句