计算时间,我有一个表,看起来像这样如何在SQL
ID DTTM
123456789 2017-10-05 08:00:00.000
123456789 2017-10-05 08:05:00.000
123456789 2017-10-05 08:07:00.000
123456789 2017-10-05 08:15:00.000
123456789 2017-10-05 08:25:00.000
123456789 2017-10-05 09:00:00.000
123456789 2017-10-05 09:01:00.000
123456789 2017-10-05 09:02:00.000
123456789 2017-10-05 09:03:00.000
123456789 2017-10-05 11:00:00.000
我需要根据时间间隔(日期没关系) 它创建一个标志为15分钟间隔,以设置标志为1 因此,在这种情况下,行1,4,6,10将被标记,并且总共将为4这个ID 每次如果interval >= 15 minutes
它将重新开始,直到下一个 我试过了像这样的东西; 随着myLead AS
(
Select top 100 percent
ID,
DTTM,
LEAD(DTTM,1) over (partition by ID order by DTTM) as NextDTTM
From Example
Order by ID
), myCount
AS
(
Select Top 100 percent
ID,
DTTM,
NextDTTM,
DateDiff("MINUTE",DTTM,NextDTTM) as Interval
from myLead
)
Select ID,
DTTM,
NextDTTM,
Interval,
Case When Interval >= 15 then 1 else 0 END as CountFlag
From myCount
Where Interval is not NULL
Order by ID
但它不按预期工作?我该如何解决这个问题。
感谢, 俄德德罗尔
Gotqn, 谢谢你的帮助,问题已经解决了。这个解决方案不会给我想要的结果。 –