mysql - 事件流的新闻提要帮助

标签 mysql sql

我正在构建一个类似 facebook 的新闻源,需要帮助。我们只想从新闻提要中的评论开始。

我们想显示当前用户在网站上关注的每个人的所有评论。有一个 followers 表,其中包含 follower id 和 followee id。以下是关注者表的基本查询,用于选择当前用户关注的所有人:

SELECT follower_id, followee_id
FROM followers
WHERE follower_id = $current_id

有一个 users 表,其中包含用户的 user_id 和名称。需要为每个评论选择它以显示评论者姓名。

还有一个评论表。以下是所有评论和用户选择其姓名的基本查询:

SELECT *, CONCAT(users.first_name,' ',users.last_name) AS name,
FROM comments, users
WHERE comments.user_id = users.id
ORDER BY comments.date DESC

问题是我们需要一份您关注的任何人的所有最新评论的列表。有人可以帮忙吗?

最佳答案

看起来您只需要组合您提供的两个查询。像这样的东西:

SELECT *, CONCAT(users.first_name,' ',users.last_name) AS name,
FROM comments, users
WHERE comments.user_id = users.id
AND comments.user_id IN 
   (SELECT followee_id
   FROM followers
   WHERE follower_id = $current_id)
ORDER BY comments.date DESC

关于mysql - 事件流的新闻提要帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3663376/

相关文章:

mysql - 使用连接返回同一列的多个值?

mysql - 按日期顺序对评论排序的问题

mysql - 为插入查询的临时信息表寻找 MySQL 替代主键 "auto increment"

php - 通过php将CSV文件中的数据导入到Mysql表中

mysql - 将相似的数据对象合并到单个表中是否有效?

php - Importbuddy 内部 500 服务器错误步骤 3

mysql - 如何检查记录不包含特定字符串?

Mysql即使在使用索引和只有一行时也使用文件排序

c# - 防止sql注入(inject)

sql - 选择查询,选择一条选择语句