Office中国论坛/Access中国论坛

标题: 【分享】判断连号范围查询例子 [打印本页]

作者: andymark    时间: 2011-11-17 22:27
标题: 【分享】判断连号范围查询例子
表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


作者: t小宝    时间: 2011-11-18 10:24
这个不错,收藏
作者: ycxchen    时间: 2011-11-18 15:08
学习!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3