Добрый день!
Имеется запрос к большой таблице, группирующий данные по 5 минут, а-ля
with t as (
select to_date('2015-10-17 01:01:21','yyyy-mm-dd hh24:mi:ss') d from dual
union select to_date('2015-10-17 01:03:25','yyyy-mm-dd hh24:mi:ss') d from dual
union select to_date('2015-10-17 01:16:21','yyyy-mm-dd hh24:mi:ss') d from dual
union select to_date('2015-10-17 01:23:44','yyyy-mm-dd hh24:mi:ss') d from dual
union select to_date('2015-10-17 01:24:45','yyyy-mm-dd hh24:mi:ss') d from dual
union select to_date('2015-10-17 01:33:25','yyyy-mm-dd hh24:mi:ss') d from dual
)
select count(*), trunc(t.d,'HH24')+trunc(to_char(t.d,'MI')/5)/(12*24)
from t
where d between to_date('2015-10-17 01:00:00','yyyy-mm-dd hh24:mi:ss') and to_date('2015-10-17 01:30:00','yyyy-mm-dd hh24:mi:ss')
group by trunc(t.d,'HH24')+trunc(to_char(t.d,'MI')/5)/(12*24)
order by 2
на выходе получаем таблицу с "провалами":
cnt | date | 2 | 2015-10-17 01:00:00 | 1 | 2015-10-17 01:15:00 | 2 | 2015-10-17 01:20:00 |
|
в то время как потребовались данные в виде
cnt | date | 2 | 2015-10-17 01:00:00 | 0 | 2015-10-17 01:05:00 | 0 | 2015-10-17 01:10:00 | 1 | 2015-10-17 01:15:00 | 2 | 2015-10-17 01:20:00 |
|
что где в запросе теперь нужно изменить?