как логический вывести интервал

armo89
Дата: 08.10.2015 15:46:23
Добрый день,

у меня вопрос по поводу sql обработки данных.

Есть таблица с данными (в прикрепленном файле table.jpg).

данные в таблицу заполняются автоматический каждый час. т.е. столбец в интервала (inter) записывается интервал времени:
интервал 1 это 01:00
интервал 2 это 02:00
и так до 24:00.

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

объект с номером 111111 дата 01.08.2015 период интервала времени 1-6 показание 245.
объект с номером 111111 дата 05.08.2015 период интервала времени 15-17 показание 269.
объект с номером 111111 дата 23.08.2015 период интервала времени 23-23 показание 436.

как вывести таблицу с двумя столбцами интервала, т.к. начальный интервал и конечный интервал?
armo89
Дата: 08.10.2015 15:46:59
желаемый результат в прикрепленном файле с названием table2.jpg
Elic
Дата: 08.10.2015 16:04:00
STFF match recognize vs start_of_group
mRdUKE
Дата: 08.10.2015 16:10:02
armo89,

min, max, group by
armo89
Дата: 08.10.2015 16:12:07
Elic,

Спасибо за ответ, а можно будет приблизительный пример показать как это сделать?)
armo89
Дата: 08.10.2015 16:13:48
mRdUKE,

min max тут не пойдет т.к. может быть в одно и тот же день в разный интервал времени заполнится информация. т.е. заполнится с 01:00 до 05:00 а потом в этот же день в 12:00 до 18:00.
armo89
Дата: 08.10.2015 16:28:38
таблица с данными может быть и в таком виде.
т.е. в один и тот же день в разный промежуток интервала поступают данные. каждый интервал, который будет идти подряд, надо вывести отдельно.
JDS
Дата: 08.10.2015 16:30:29
приблизительный пример

case when lead(inter) over(partition blablabla order by blablabla) = inter then 1 else 0 end as start_of_group

приблизительный пример
mRdUKE
Дата: 08.10.2015 16:46:20
armo89
т.е. в один и тот же день в разный промежуток интервала поступают данные. каждый интервал, который будет идти подряд, надо вывести отдельно.

т.е. вариант
select n_ob,date,min(inter) inter1,max(inter) inter2,pok
from table 
group by n_ob,date,pok 
order by 2,3

не подходит на все 100, проверяли да? )
bishnike
Дата: 08.10.2015 16:53:38
mRdUKE
не подходит на все 100

с 1 по 10 pok = 245
таймаут
с 15 по 23 pok = 245