Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 sequence with group  [new]
saxarock
Member

Откуда: ЕКБ
Сообщений: 169
with tbl as (select 1 o_id, 2 err_val, 3 r_id from dual
            union all 
            select 4, 2, 6 from dual
            union all
            select 5, 2, 8 from dual
            union all
            select 1 o_id, 5 err_val, 3 r_id from dual
            union all 
            select 4, 5, 6 from dual
            union all
            select 5, 5, 8 from dual)
select o_id
      ,r_id
      ,err_val
      ,rank() over(ORDER BY err_val) AS groupid from tbl

Есть такой набор данных.
Вопрос заключается как в этих данных вместо groupid иметь seq_test.nextval в рамках группы err_val?
11 мар 19, 15:10    [21829262]     Ответить | Цитировать Сообщить модератору
 Re: sequence with group  [new]
saxarock
Member

Откуда: ЕКБ
Сообщений: 169
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
11 мар 19, 15:12    [21829264]     Ответить | Цитировать Сообщить модератору
 Re: sequence with group  [new]
123йй
Member

Откуда:
Сообщений: 1491
saxarock,

добавить еще одну таблицу с нужным количеством из сиквенса
11 мар 19, 15:16    [21829275]     Ответить | Цитировать Сообщить модератору
 Re: sequence with group  [new]
Foxter
Member

Откуда: Fairfield, CS, USA
Сообщений: 422
saxarock

Вопрос заключается как в этих данных вместо groupid иметь seq_test.nextval в рамках группы err_val?


Не совсем понятно, что вы имеете ввиду. Может вам нужна нумерация строк внутри группы?


with tbl as (select 1 o_id, 2 err_val, 3 r_id from dual
            union all 
            select 4, 2, 6 from dual
            union all
            select 5, 2, 8 from dual
            union all
            select 1 o_id, 5 err_val, 3 r_id from dual
            union all 
            select 4, 5, 6 from dual
            union all
            select 5, 5, 8 from dual)
select o_id
      ,r_id
      ,err_val
      ,rank() over(ORDER BY err_val) AS groupid
      ,row_number() over (partition by err_val order by r_id) 
      from tbl
11 мар 19, 17:15    [21829495]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить