我正在尝试从一个表中获取聚合数据,该表中有两个日期列(开始,结束)。我想“合并”相邻或重叠的行。我正在使用PostgreSQL 9.6。
输入
begin | end
-----------------------
2019-01-01 | 2019-01-31
2019-02-01 | 2019-03-15 -- adjacent to prev record
2019-03-01 | 2019-04-30 -- overlaps prev record
2019-10-01 | 2019-12-20
所需的输出
begin | end
------------------------
2019-01-01 | 2019-04-30
2019-10-01 | 2019-12-20
我可以使用pl / pgsql来做到这一点,但是如果可能的话,我想使用分区和/或窗口来做到这一点。我试图遵循https://wiki.postgresql.org/wiki/Range_aggregation,但没有成功。