数据库中如何使用SQL查询连续数字并且统计连续个数

[b]seven 表[/b]
[table]
|mobile_parent|mobile|
|1352162803x|900|
|1352162803x|923|
|1352162803x|924|
|1352162803x|925|
|1352162803x|927|
|1352162803x|929|
|1352162803x|931|
|1352162803x|934|
|1352162803x|935|
|1352162803x|937|
|1352162803x|938|
|1352162803x|939|
[/table]


SELECT b.mobile_parent, MIN (b.mobile) Start_HM, MAX (b.mobile) End_HM, count(*) as ccount
FROM (
SELECT a.mobile_parent,a.mobile, TO_NUMBER (a.mobile - ROWNUM) cc
FROM (
SELECT *
FROM seven
ORDER BY mobile_parent, mobile
) a
) b
GROUP BY b.mobile_parent, b.cc
having count(*) > 1


[table]
|开始| 结束 |个数|
|923 | 925 | 3|
|934 | 935 | 2|
|937 | 939 | 3|
[/table]

你可能感兴趣的:(SQL)