在新列中捕获重复出现的第七天

capture reoccurring seventh day in new column

我有以下 table...

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

我想获取 check_type 距 run_dt 7 天的值。前一个工作日值是多少。

类似...

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/lagCTE 吗?

这里最好的选择是什么,感谢反馈。

您可以将 table 加入自身:

SELECT
  a.run_dt,
  a.check_type,
  a.curr_cnt,
  b.curr_cnt as prev_nt
from table a
left join table b on b.run_dt = dateadd(d,-7,a.run_dt)