人们通常如何收集有关已注册用户数量或留下的消息数量的网站统计信息(假设该网站是一个论坛) - 总计,今天,昨天,上周?这是关于每小时/每天/每周在用户和消息表上运行Count()还是有更智能的增量方法?
答案 0 :(得分:3)
当然,您使用日期时间戳记录所有活动,然后查询日期介于您要查看的两个日期之间的记录。如果这是一个现有的项目,你可能还没有所有这些数据,在这种情况下,你几乎被卡住了。
如果您正在制作,那么通常的做法是这样做:
让我们假设您在论坛中有一个表格。您可以将每个帖子存储在数据库中,如下所示:
CREATE TABLE forum_post
(
thread_posted_to_id int,
user_id int,
message text,
date_posted datetime DEFAULT (getdate())
)
CREATE TABLE users
(
user_id int,
name text,
date_signed_up datetime DEFAULT (getdate())
)
然后您可以像这样查询,以获取来自某个用户的所有帖子的计数:
select count(*) from forum_post where user_id = ?
或者如果你只想要一个范围内的日期,你可以说
select count(*) from forum_post where user_id = ? and date_posted between ? and ?
使用您要选择的数据填写问号。