Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Oracle / 7 сообщений из 7, страница 1 из 1
25.02.2020, 09:15
    #39930402
NhA
NhA
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle
Добрый день,
прошу подсказать.
Дана таблица, flag = 1 успешно отработан запрос
flag = 0 (время запуска запроса)
Необходимо найти время начала работы последнего успешно отработавшего запроса.
...
Рейтинг: 0 / 0
25.02.2020, 09:27
    #39930407
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle
NhA,

нужен id (код) запроса

.....
stax
...
Рейтинг: 0 / 0
25.02.2020, 09:34
    #39930412
oragraf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle
NhA,
...
Рейтинг: 0 / 0
25.02.2020, 09:40
    #39930414
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle
NhA
найти время начала работы последнего успешно отработавшего запроса.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
SQL> with t as
  2  ( select date '2020-02-01' as dt, 0 as flag from dual union all
  3    select date '2020-02-02' as dt, 1 as flag from dual union all
  4    select date '2020-02-03' as dt, 0 as flag from dual union all
  5    select date '2020-02-04' as dt, 1 as flag from dual union all
  6    select date '2020-02-05' as dt, 0 as flag from dual union all
  7    select date '2020-02-06' as dt, 1 as flag from dual union all
  8    select date '2020-02-07' as dt, 0 as flag from dual
  9  )
 10  select * from t
 11    match_recognize
 12    ( order by dt
 13      measures
 14        first(zero.dt) as dt
 15      pattern (zero+ one+ zero* $)
 16      define
 17        zero as flag = 0
 18      , one  as flag = 1
 19    )
 20  ;

DT
---------
05-FEB-20
...
Рейтинг: 0 / 0
25.02.2020, 09:42
    #39930415
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle
oragraf, неверно.
...
Рейтинг: 0 / 0
25.02.2020, 13:14
    #39930565
feagor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle
Elic,

Через аналитику
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
with t as
 ( select date '2020-02-01' as dt, 0 as flag from dual union all
   select date '2020-02-02' as dt, 1 as flag from dual union all
   select date '2020-02-03' as dt, 0 as flag from dual union all
   select date '2020-02-04' as dt, 1 as flag from dual union all
   select date '2020-02-05' as dt, 0 as flag from dual union all
   select date '2020-02-06' as dt, 1 as flag from dual union all
   select date '2020-02-07' as dt, 0 as flag from dual
 ),tt as (
 select max(case when flag =0 then dt else null end ) start_dt,
        max(case when flag =1 then dt else null end ) end_dt,
        grp_id
 from   (SELECT sum(case when flag =0 then 1 else 0 end) over (order by dt) grp_id,
         t.*
         from t
        )
 group by grp_id
 having max(case when flag =1 then dt else null end ) is not null
 )
 SELECT max(start_dt) FROM tt ;

MAX(START_DT)
-------------
05.02.2020 
...
Рейтинг: 0 / 0
25.02.2020, 13:23
    #39930572
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle
feagor
Elic,

Через аналитику
Перебор.
Код: plsql
1.
select max(dt_) from (select case when flag = 0 and lead(flag) over (order by dt) = 1 then dt end as dt_ from t)

...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Oracle / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]