Здравствуйте, Аноним, Вы писали:
SQL> create table ranges as
2 select 1 num, 'Grp1' grp from dual union
3 select 2 num, 'Grp1' grp from dual union
4 select 3 num, 'Grp1' grp from dual union
5 select 5 num, 'Grp1' grp from dual union
6 select 6 num, 'Grp2' grp from dual union
7 select 7 num, 'Grp2' grp from dual union
8 select 8 num, 'Grp1' grp from dual ;
Table created
SQL>
SQL> select grp, min (num), max (num)
2 from (
3 select grp, num, num - rownum grp#
4 from (select * from ranges order by grp, num))
5 group by grp, grp# ;
GRP MIN(NUM) MAX(NUM)
---------- ---------- ----------
Grp1 1 3
Grp1 5 5
Grp1 8 8
Grp2 6 7
SQL>