我有一个包含多个条目的表。一项由开始日期时间和结束日期时间组成。
我想以这样的方式找到条目集群:
如果一个条目在前一个条目结束之前开始,则两者都是集群的一部分。这是某种重叠问题。
例子:
id start end
1 2007-04-11 15:34:02 2007-05-11 13:09:01
2 2007-06-13 15:42:39 2009-07-21 11:30:00
3 2007-11-26 14:30:02 2007-12-11 14:09:07
4 2008-02-14 08:52:11 2010-02-23 16:00:00
我想要输出
id start end
1 2007-04-11 15:34:02 2007-05-11 13:09:01
2-4 2007-06-13 15:42:39 2010-02-23 16:00:00
我有一个解决方案,它先排序,然后对行号和滞后/领先等进行一些计算。问题是第4行直接在第2行之后的特殊情况,所以我不认识它......
这里的sql有好的解决方案吗?也许我错过了什么?