Det afhænger af, hvor stort dit datointerval er. Hvis alle datoer falder inden for en måned, kan du f.eks. gøre dette:
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)
Du kan også gruppere efter år og måned, hvis du har brug for at adskille dine data yderligere.