
select min(StartDate) as StartDate
,max(EndDate) as EndDate
from (select StartDate,EndDate ,count (is_gap) over ( order by StartDate,ID ) as range_id from (select ID,StartDate,EndDate ,case when max (EndDate) over ( order by StartDate,ID rows between unbounded preceding and 1 preceding ) < StartDate then true end as is_gap from t ) t ) tgroup by range_idorder by StartDate;
+------------+------------+| startdate | enddate |+------------+------------+| 2017-01-01 | 2017-04-01 || 2017-05-05 | 2017-08-31 || 2017-10-01 | 2017-10-05 || 2017-11-01 | 2017-12-25 |+------------+------------+
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)