MySQL:每个帖子的最新评论

MySQL:每个帖子的最新评论,sql,mysql,greatest-n-per-group,Sql,Mysql,Greatest N Per Group,有了经典的“posts表和comments表以及带有外键的posts表”场景,最有效的方法是什么来获取最后20篇文章的ID,这些文章是按最后一篇评论的时间排序的,以及实际的评论本身 下面是一个有效但可能更高效的查询: SELECT * FROM ( SELECT * FROM comments ORDER BY time DESC ) AS foo GROUP BY post_id ORDER BY time DESC LIMIT 20 有必要使用带有排序依据的嵌套查询,以确保将最新的

有了经典的“posts表和comments表以及带有外键的posts表”场景,最有效的方法是什么来获取最后20篇文章的ID,这些文章是按最后一篇评论的时间排序的,以及实际的评论本身

下面是一个有效但可能更高效的查询:

SELECT * FROM (
   SELECT * FROM comments ORDER BY time DESC
) AS foo GROUP BY post_id ORDER BY time DESC LIMIT 20 

有必要使用带有排序依据的嵌套查询,以确保将最新的注释选择到
post\u id
组中。

如注释中所述:实际上与问题相同


有关更多类似问题,请参见标签。

有关哪个数据库?没有一致的语法来限制results.MySQL,请澄清。没想到SQL在不同的数据库系统中有这么大的不同。看起来几乎是同一个问题。。。“Best-n-per-group”是我缺少的搜索词。是的,在许多其他类似问题中都使用该标记。外部查询中的ORDER BY在对行进行分组后对行进行排序。