Thay vì cập nhật số lượng mỗi ngày, tuần, v.v. chỉ cần CHÈN một hàng vào bảng mỗi khi một hoạt động xảy ra như thế này:
insert into activities (activity_date, activity_info)
values (CURRENT_TIMESTAMP, 'whatever');
Giờ đây, các báo cáo của bạn rất đơn giản như:
select count(*) from activities
where activity_date between '2008-01-01' and '2008-01-07';
hoặc
select YEARWEEK(`activity_date`) as theweek, count(*)
group by theweek