Itu tergantung pada seberapa besar rentang tanggal Anda. Jika semua tanggal jatuh dalam waktu satu bulan, misalnya, Anda dapat melakukan ini:
select day(timestamp) as Day, hour(timestamp) as Hour, count(*) as Count
from MyTable
where timestamp between :date1 and :date2
group by day(timestamp), hour(timestamp)
Anda juga dapat mengelompokkan berdasarkan tahun dan bulan jika perlu memisahkan data lebih lanjut.