SQL> select * from aa;CARDNU
------
010001
010002
010003
010004
010056
010057
010058
010059
010060
020124
020125CARDNU
------
020126已选择12行。select min(CARDNUMBER)||'--'||max(CARDNUMBER) result from
(
select CARDNUMBER,
       CARDNUMBER-row_number() over(order by CARDNUMBER) mygroup
from   aa
)
group by mygroup
/RESULT
--------------
010001--010004
010056--010060
020124--020126

解决方案 »

  1.   

    还有就是假如我想这样显示结果怎么办???RESULT                   NUM
    --------------         -------
    010001--010004            4
    010056--010060            5
    020124--020126            3
    麻烦楼上的高人再帮忙一次
      

  2.   

    select min(CARDNUMBER)||'--'||max(CARDNUMBER) result,
           count(CARDNUMBER) num 
    from   (select CARDNUMBER,
                   CARDNUMBER-row_number() over(order by CARDNUMBER) mygroup
            from   aa)
    group  by mygroup
    /RESULT                NUM
    -------------- ----------
    010001--010004          4
    010056--010060          5
    020124--020126          3SQL>