In plaats van de tellingen per dag, week enz. bij te werken, VOEG gewoon een rij in een tabel in elke keer dat een activiteit als volgt plaatsvindt:
insert into activities (activity_date, activity_info)
values (CURRENT_TIMESTAMP, 'whatever');
Nu zijn uw rapporten heel eenvoudig, zoals:
select count(*) from activities
where activity_date between '2008-01-01' and '2008-01-07';
of
select YEARWEEK(`activity_date`) as theweek, count(*)
group by theweek