SQL选择不重叠的范围

时间:2018-01-25 19:58:46

标签: sql postgresql range postgresql-9.4 overlapping

我有一个包含以下列的表:range_from和range_to。 我需要使用PostgreSQL9.4在查询中选择非重叠范围。

例如,让我们说这是我的数据:

range_from     range_to
1              5
2              5
3              5
4              7
6              10

非重叠范围(从第一个开始)将是:

1      5
6      10

我尝试使用超前/滞后,但由于每两个连续的范围确实重叠,但这并没有让我到任何地方,但[1,5]和[6,10]没有。

以下是测试表中的测试数据:

create table test_table(id integer, range_from integer, range_to integer);
insert into test_table (id, range_from, range_to) values (1, 1, 5), (2, 2, 5), (3, 3, 5), (4, 4, 7), (5, 6, 10);

我没有随处可见,我将不胜感激任何帮助。 谢谢!

0 个答案:

没有答案