我必须按站点的用户活动的天,周,月和年收集统计数据.我是数据库设计阶段,我想要正确地完成这个阶段,因为它将使我的编码生活更轻松.
我要做的就是每次活动发生时,只需在数据库中将字段中的值递增1.那么我可以按每天,每周,每个月和每年提取日期.我的DB应该如何构建?对大多数人来说,这是一个简单的问题.如果这种结构可以扩展以便它可以被其他类别分解,那也将是很好的.
我遇到麻烦的是每个月由更多天组成,这些天改变每个日历年.
感谢所有人的帮助或指导.
其他信息:Linux Machine,利用PHP和MySQL
而不是每天更新计数,每周等.每次活动发生时,只需将一行插入表中:
insert into activities (activity_date, activity_info) values (CURRENT_TIMESTAMP, 'whatever');
现在您的报告很简单,如:
select count(*) from activities where activity_date between '2008-01-01' and '2008-01-07';
要么
select YEARWEEK(`activity_date`) as theweek, count(*) group by theweek