How to count the number of rows by datetime field with the division into time intervals
variable interval_minutes number;

exec :interval_minutes := 10;

select
  trunc(registered_at, 'HH24')
  + trunc(to_char(registered_at,'mi')/:interval_minutes)*:interval_minutes/1440, 
  count(*) 
from
  clients
group by 
  trunc(registered_at, 'HH24')
  + trunc(to_char(registered_at,'mi')/:interval_minutes)*:interval_minutes/1440
order by 
  1
;


Based on: Summarizing data over time - by time interval