powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Наработка
6 сообщений из 6, страница 1 из 1
Наработка
    #39304194
starlingShVP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть таблица оборудования, сост. из полей

код оборудования Дата вкл/выкл Признак вкл/выкл (1 вкл, 0 выкл)


Пример:

45678 12.12.2015 15:21 1
45678 04.03.2016 03:23 0
45678 07.04.2016 13:43 1

Можно ли одним запросом (функцией) определить время работы оборудования.
...
Рейтинг: 0 / 0
Наработка
    #39304197
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
starlingShVPМожно ли одним запросом определить время работы оборудования.Да. STFF start_of_group
...
Рейтинг: 0 / 0
Наработка
    #39304718
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИМХО sog тут нафиг не нужен

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
alter session set nls_date_format= 'dd.mm.yyyy hh24:mi'

 alter session set succeeded.

with t as (select 45678 device_id, to_date('12.12.2015 15:21') op_dt, 1 on_off
from dual union all select 45678 , to_date('04.03.2016 03:23') op_dt, 0 
from dual union all select 45678 , to_date('07.04.2016 13:43') op_dt, 1 
from dual)
select device_id
     , sum(round((op_end_dt - op_dt)*86400)) "on_duration (seconds)"
     , numtodsinterval(sum(op_end_dt - op_dt), 'day') "on_interval (days hr:mi:ss)"
  from (
    select t.*
         , lead(op_dt, 1, sysdate) over(partition by device_id order by op_dt) -1/86400 op_end_dt
      from t) t 
where on_off = 1
group by device_id

DEVICE_ID                               on_duration (seconds)                   on_interval (days hr:mi:ss) 
--------------------------------------- --------------------------------------- --------------------------- 
45678                                   20259623                                234 11:40:23.0              

1 rows selected
...
Рейтинг: 0 / 0
Наработка
    #39304820
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousИМХО sog тут нафиг не нуженМагия чередующихся состояний.
...
Рейтинг: 0 / 0
Наработка
    #39304868
не sog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Elicandrey_anonymousИМХО sog тут нафиг не нуженМагия чередующихся состояний.Допустим последовательность состояний одного устройства 1 0 0 0 1 1 0, тогда продолжительность работы все равно сумма интервалов от 1 до, неважно какой, следующего.
...
Рейтинг: 0 / 0
Наработка
    #39304880
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не sogпродолжительность работы все равно сумма интервалов от 1 до, неважно какой, следующего.Соггласен :|
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Наработка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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