有如下表结构
c1 起始号码 c2结束号码
10,20
30,60
61,70
27,28
21,23
合并后的结果
10,23
27,28
30,70
实现的sql如下:
select min(c1),max(c2) from (
select c1,c2,c2-sum(c2-c1) over (order by c1)-rownum rn from (
select '10' c1,'20' c2 from dual union all
select '30' c1,'60' c2 from dual union all
select '61' c1,'70' c2 from dual union all
select '27' c1,'28' c2 from dual union all
select '21' c1,'23' c2 from dual
order by c1
) )
group by rn