我有一个包含以下列的表: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);
我没有随处可见,我将不胜感激任何帮助。 谢谢!