我有一个三列id,dtstart,dtend的数据表。例如:按日期分组ID
id start end
1 01/01/2015 31/01/2015
1 02/02/2015 28/02/2015
1 01/07/2016 31/07/2016
1 01/08/2016 31/08/2016
2 01/03/2015 31/03/2015
2 01/04/2015 30/04/2015
2 01/02/2016 28/02/2016
2 01/03/2016 31/03/2016
...
我需要创建的ID与同列,但新的开始日期是在原起始日期的最小日期和新的结束日期分组的另一个数据表是在原来的最大日期DTEND。
如果在结束日期和下一个开始日期之间有一天的休息时间超过一天,那么它应该单独分组。
例如,对于新表上面会:
id start end
1 01/01/2015 28/02/2015
1 01/07/2016 31/08/2016
2 01/03/2015 30/04/2016
2 01/02/2016 31/03/2016
...
我需要一个for循环或者是有一个更有效的方法(数据表分组为例)?该表超过2000万行,包含100k +独特的ID。
干杯 安德鲁
我想,这可能让你去:[收起行范围重叠(https://stackoverflow.com/questions/41747742/collapse-rows-with-overlapping-ranges) – Henrik