1
我有两列如下:如何在PostgreSQL中查找两个整数系列之间的重叠?
start end id
120 125 1
1 13 2
14 17 3
100 121 4
99 100 5
2 6 6
正如你可以看到有id=4 and id=5
,id=1 and id=4
,id=6 and id=2
之间的重叠我要指出,start
始终小于或等于end
。
如何使用SQL查找这些重叠? 基本上我想要得到的结果是:
1
2
4
5
6
它有一个重大缺陷......它只是从ID更高的IDS检查....这意味着如果我添加where条件的特定ID例如t.id = 4 ...它不会将它与id = 2进行比较。 – avi
“存在”解决方案是不正确的,它也给出了'id = 3',它不与任何其他系列重叠。 – MtwStark