выбор начальной записи из определенного значения

Привет, сообщество stackru,

Хотелось бы добиться следующего результата. Я делаю инкрементную загрузку. Где я загружаю максимальное и последнее значения предыдущей нагрузки, сгруппированные по M_ID, в запрос следующей загрузки.

Я хотел бы начать запрос новой нагрузки с последней строки предыдущей загрузки на M_ID, причина в том, что непрерывный поток данных в БД

В настоящее время у меня есть этот запрос для начальных значений:

With startval as (
  select
    1 as is_start, 'M1' as M_id, 'Reas1' as R1, 'Reas2' as R2, 'Na2' as N2,
    to_date('2020-02-27 18:00:00') as date_start 
  from dual
 union all
  select
    1 as is_start, 'M2' as M_id, 'Reas2' as R1, 'Reas6' as R2, 'Na3' as N2,
    to_date('2020-02-27 14:00:00') as date_start 
  from dual
),

Выходной запрос, который я хотел бы получить, будет выглядеть так:

M_id  R1     R2    N2   date_start           date_end
1     Reas1  Reas2 Na2  2020-02-27 18:00:00  2020-02-27 18:04:00 (First record taken from startval)
1     Reas1  Reas2 Na3  2020-02-27 18:04:00  2020-02-27 18:05:00
2     Reas2  Reas6 Na3  2020-02-27 14:00:00  2020-02-27 14:03:00 (First record taken from startval)
2     Reas2  Reas6 Na3  2020-02-27 14:03:00  2020-02-27 14:06:00

Как лучше всего присоединить строку startval к ​​первой строке фактической таблицы запроса?

(Запрос выполняется в БД Oracle)

0 ответов

Другие вопросы по тегам