Sie können eine Unterabfrage verwenden, um die Daten nach Tag/Stunde zu gruppieren, und dann den Durchschnitt nach Stunde über die Unterabfrage hinweg nehmen.
Hier ist ein Beispiel, das Ihnen die durchschnittliche Zählung pro Stunde für die letzten 7 Tage zeigt:
select the_hour,avg(the_count)
from
(
select date(from_unixtime(`date`)) as the_day,
hour(from_unixtime(`date`)) as the_hour,
count(*) as the_count
from fb_posts
where `date` >= unix_timestamp(current_date() - interval 7 day)
and created_on < unix_timestamp(current_date())
group by the_day,the_hour
) s
group by the_hour