我有一个网站,用户可以关注他们喜欢的用户,并可以阅读他们的最新更新。
我想向用户展示他们关注的人在过去24小时内发布的评论数量。我无法搞清楚查询。
我有两张桌子。
评论
user_relationships
用简单的英语,我认为查询是这样的:
从评论表中计算cid.comment,其中uid.comment等于与requester的requestter_id.user_relationships值相关联的requestee_id.user_relationships。
我需要从usr_relationship表中获取给定UID的人的所有UID。然后计算这些人在过去24小时内发布的评论数量并吐出该数字。
这个查询会是什么样的?
答案 0 :(得分:2)
SELECT COUNT(1)
FROM user_relationships ur
JOIN comment c ON (ur.requestee_id = c.uid)
WHERE c.timestamp >= (CURRENT_TIMESTAMP - <interval of 1day>)
AND ur.requester_id = <visitor>
也希望这会有所帮助。
你必须弄清楚如何创建一个从时间戳中减去的间隔。
答案 1 :(得分:0)
SELECT COUNT(*)
FROM Comment
WHERE uid in (SELECT user_relationships.requesterid
FROM user_relationships
WHERE user_relationships.requesteeid = @ThisID)
希望这有帮助, 欢呼声,
答案 2 :(得分:0)
使用联接
SELECT
COUNT(c.cid)
FROM
user_relationships r
INNER JOIN comments c ON c.uid=r.requester_id AND c.timestamp > NOW() - INTERVAL 24 HOUR
WHERE
r.requestee_id={user_id}
答案 3 :(得分:0)
加入更快
SELECT COUNT(comments.uid) FROM comments JOIN user_relationships ON user_relationships.requestee_id = comments.uid WHERE user_relationships.requester_id = $some_id