Het hangt af van hoe groot uw datumbereik is. Als alle datums bijvoorbeeld binnen een maand vallen, kunt u dit doen:
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)
U kunt ook groeperen op jaar en maand als u uw gegevens verder wilt scheiden.