Ваш вопрос сбивает с толку, поскольку опубликованные вами результаты не соответствуют описанным вами требованиям.
Вот что я думаю вы ищете:
SELECT lpad(floor(to_number(hhmiss)/5)*5,6,'0') grp, sum(no_of_session)
from test_data
group by lpad(floor(to_number(hhmiss)/5)*5,6,'0')
order by lpad(floor(to_number(hhmiss)/5)*5,6,'0')
Это сгруппирует каждую строку ввода в интервалы по 5 секунд, а затем даст вам количество сеансов в каждой группе.
Полный пример с данными испытаний:
with test_data ( hhmiss, no_of_session ) as
(
SELECT '010101', 2 FROM DUAL UNION ALL
SELECT '010102', 3 FROM DUAL UNION ALL
SELECT '010104', 5 FROM DUAL UNION ALL
SELECT '010107', 2 FROM DUAL UNION ALL
SELECT '010108', 1 FROM DUAL UNION ALL
SELECT '010110', 6 FROM DUAL UNION ALL
SELECT '010111', 8 FROM DUAL UNION ALL
SELECT '010113', 1 FROM DUAL UNION ALL
SELECT '010115', 6 FROM DUAL )
SELECT lpad(floor(to_number(hhmiss)/5)*5,6,'0') grp, sum(no_of_session)
from test_data
group by lpad(floor(to_number(hhmiss)/5)*5,6,'0')
order by lpad(floor(to_number(hhmiss)/5)*5,6,'0')
+--------+--------------------+
| GRP | SUM(NO_OF_SESSION) |
+--------+--------------------+
| 010100 | 10 |
| 010105 | 3 |
| 010110 | 15 |
| 010115 | 6 |
+--------+--------------------+