我为此设置了一个典型的 MySQL 数据库:发布表、用户表、评论表。
查询诸如“获取自上次评论以来有新评论的我评论的帖子”之类的最佳方法是什么?我无法确定如何将大于我的comment_timestamp 条件的其他用户comment_timestamp 合并到以下查询中:
我大致有
SELECT * FROM posts
WHERE posts.id IN
( SELECT DISTINCT posts.id FROM posts,users,comments WHERE comments.post_id = post.id AND comments.user_id = $current_user_id ) AND .. something to filter only comments where timestamp is greater than mine
我意识到我可以遍历一组并在 MySQL 之外进行过滤,但如果可能的话,我更愿意在 MySQL 中完成所有操作。我知道通过加入可能有更好的方法,但我不知道如何在加入的两个部分中移动“我的”最后评论的comment_timestamp
user table
-----
id
posts table
------
id
user_id
comments table
-------
id
user_id
post_id
comment_timestamp