我有 2 张桌子:members
和posts
在表中members
,我有USERID
每个用户。在表中posts
,我有PID
每个帖子和USERID
创建帖子的用户。每个帖子也有number_of_like
,表示帖子被点赞的次数。
/*Table: posts*/
----------------
Field Type Null Key Default Extra
----------------- ---------------- ------ ------ ---------- --------------
PID bigint(20) NO PRI (NULL) auto_increment
USERID bigint(20) NO 0
number_of_like int(10) unsigned YES 0
number_of_comment int(10) unsigned YES 0
date_added date NO 0000-00-00
现在我要数一数:在一个时间范围内(DATE(date_added) > CURDATE() - INTERVAL 30 DAY)
,每个用户有多少个帖子以及他们的总点赞数。我按月和周计算。
我可以直接在查询中执行此操作吗?或者我必须使用 foreach 来计算每个用户,将其写入stats
表,然后stats
在需要时从 SELECT 中选择?
非常感谢任何帮助。谢谢 :)
更新
我需要列出所有用户,无论他们的帖子数如何。