我如何计算连续的时间范围
我的数据如下所示:
Id| Em_Name|Em_Reg_Date
--------------------------------
1 | John |2010-03-30 00:00:00
1 | John |2010-03-31 00:00:00
2 | Marc |2010-10-26 00:00:00
2 | Marc |2010-10-27 00:00:00
2 | Marc |2010-10-28 00:00:00
2 | Marc |2010-10-29 00:00:00
2 | Marc |2010-12-16 00:00:00
2 | Marc |2010-12-17 00:00:00
2 | Marc |2010-12-20 00:00:00
2 | Marc |2010-12-21 00:00:00
2 | Marc |2010-12-22 00:00:00
3 | Paul |2010-02-25 00:00:00
3 | Paul |2010-02-26 00:00:00
3 | Paul |2010-12-13 00:00:00
3 | Paul |2010-12-14 00:00:00
3 | Paul |2010-12-15 00:00:00
--------------------------------
时间范围是一个连续的时间段。
例如,保罗有以下两 (2) 个时间框架
FRAME 1 FROM 2010-02-25 00:00:00 to 2010-02-26 00:00:00
FRAME 2 FROM 2010-12-13 00:00:00 to 2010-12-15 00:00:00
所以,结果应该是这样的
1 John 1
2 Marc 3
3 Paul 2
问题是:我需要计算每个员工的时间框架。
这里的问题在于我需要隔离持续的时间范围以计算它们。我什至尝试过声明游标(有效,但我必须将数据存储在临时表中)并且我希望它在一个“简单”的 sql 语句中使用 max 查找开始日期仅适用于一帧。您找不到最大的第二/第三帧。
有没有人有新鲜的想法?