Этот запрос должен дать ожидаемый результат. Дайте мне знать.
http://sqlfiddle.com/#! 17 / 4a4fb / 3
select distinct date
, sum(case when offload_seconds>=300 then 0 else offload_seconds end) over (partition by col_sum) as con_sum
from
(
select date, number, time, offload_seconds
, sum(case when offload_seconds>=300 then 1 else 0 end) over( rows between unbounded preceding and current row) as col_sum
from tab1
) a
qualify con_sum<>0
В качестве альтернативы, эта более длинная версия с дополнительным выбором обертки выше SQL, также работы:
http://sqlfiddle.com/#! 17 / 4a4fb / 13
select dt, nm, con_sum
from (
select distinct dt, nm
, sum(case when offload_seconds>=300 then 0 else offload_seconds end) over (partition by col_sum) as con_sum
from
(
select dt, nm, tm, offload_seconds
, sum(case when offload_seconds>=300 then 1 else 0 end) over( rows between unbounded preceding and current row) as col_sum
from tab2
) a
) t
where t.con_sum <>0;