求教!这个查询该怎么写?
我有一个号段表
create table hdb(startno number(6),endno number(6));
主键是(startno,endno)
表里面存放了一些起始和终止的号码段,来表示一段连续的号码,如:
123400 123499
123500 123599
123510 123600
其中有一些号段有重叠,如:123500~123599 和123510~123600就有部分重叠。
求教,能不能有一个算法,最好是一条sql语句,把所有发生重叠的号段查出来。
另外,这张号段表实际上有上万条记录,号码范围也在千万级,(我在问题中作了简化),算法一定要高效,用游标遍历整张表的算法不可取。
我最希望有人能用一条sql搞定,先谢谢了。