我有一個三列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