Záleží na tom, jak velké je vaše časové období. Pokud například všechna data spadají do jednoho měsíce, můžete provést toto:
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)
Pokud potřebujete dále oddělit data, můžete je seskupit podle roku a měsíce.