MySQL:每篇帖子的最新评论

时间:2010-07-06 20:37:53

标签: sql mysql greatest-n-per-group

拥有经典的“帖子表和带有外键的评论表到帖子表”场景,获取最后评论时间最后20个帖子的ID的最有效方法是什么,以及实际评论本身?

这是一个有效的查询,但可以更有效地完成:

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

需要使用ORDER BY的嵌套查询,以确保将最新评论选入post_id组。

1 个答案:

答案 0 :(得分:1)

如评论中所述:与Retrieveing the most recent records within a query几乎相同的问题。

有关更多类似问题,请参阅greatest-n-per-group标记。