Самый топорный вариант - "округляем" время до интересуемого интервала (кванта времени) функцией форматированного вывода времени и считаем кол-во записей с группировкой по форматированному значению времени, потом сортируем в нужную сторону.
Данный пример использует функцию to_char СУБД Oracle и интервал квантования - 1 минута.
select * from
(
select to_char(time, 'YYYY.MM.DD HH24:MI') time_round_minute, count(distinct userId) cnt
from log_table
group by to_char(time, 'YYYY.MM.DD HH24:MI')
)
order by cnt desc
Если отсортировать по форматированную времени, при условии, что формат времени записан в порядке убывания величин (год, месяц, день, час, минута, секунда), то выходные данные - практически готовая гистограмма нагрузки.