Re: Поиск непрерывных диапазонов
От: Softwarer http://softwarer.ru
Дата: 14.10.05 18:10
Оценка:
Здравствуйте, Аноним, Вы писали:

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>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.