我正在尝试编写查询,但它不适用于滞后功能

问题描述

我需要按日期对 aa bb cc 列进行分区,并且需要结果,例如连续行中的差异是否超过 60 天。我尝试了 datediff(date,lag()) 但没有得到预期的结果。

see the expected results column

解决方法

假设日期是日期时间类型列,您可以使用以下代码 -
CASE when datediff(date,lag(Date,1,0) over (order by Date) ) >60 then 1 else 0 END diff_gt_60