【发布时间】:2021-08-19 16:55:33
【问题描述】:
我有下表...
run_dt check_type curr_cnt
6/1/21 ALL 50
5/31/21 ALL 25
5/26/21 ALL 43
5/25/21 ALL 70
6/1/21 SUB 23
5/25/21 SUB 49
我想从 run_dt 捕获 7 天后 check_type 的值。上一个工作日的值是多少。
类似...
run_dt check_type curr_cnt prev_nt
6/1/21 ALL 50 70
5/31/21 ALL 25
5/26/21 ALL 43
5/25/21 ALL 70
6/1/21 SUB 23 49
5/25/21 SUB 49
我可以使用lead/lag 或CTE 吗?
这里最好的选择是什么,感谢反馈。
【问题讨论】:
-
如果您每天都有一行,您可以使用
LEAD/LAG。您可以使用 Tally 或日历表为此创建行,LEAD/LAG,然后过滤掉没有数据的行。您要竞选的日期范围有多大。 -
是否有可能不存在 7 天前的一行,如果存在,该值应该为 null 还是其他?
标签: sql-server common-table-expression lag lead