|
表Tb有两个长整型字段F1,F2
F1 F2
---------------------------
100 109
110 119
120 129
140 149
150 159
160 169
问题:
100 至 129 是连续的,140 至 169是连续的,如何得到
F1 F2
---------------------------
100 129
140 169
-->查询如下:
select a.F1,min(b.F2) F2
from
(
select F1 from tb t
where not exists(select 1 from tb where abs(F2-t.F1)=1)
) a
join
(
select F2 from tb t
where not exists(select 1 from tb where abs(t.F2-F1)=1)
) b
on a.F1<=b.F2
group by a.F1
/*
F1 F2
----------- -----------
100 129
140 169
|
|