目前我有这个查询:
SELECT post.id AS postID, sCom.id as CommentID FROM `post` LEFT JOIN (SELECT * FROM `comment` LIMIT 5) AS sCom ON sCom.post_id = post.id;
Run Code Online (Sandbox Code Playgroud)
输出:
postID | CommentID
1 | 1
2 | null
3 | null
4 | 2
5 | 3
5 | 4
5 | 5
Run Code Online (Sandbox Code Playgroud)
它可以工作,但它在JOINing之前限制注释表.结果是,它选择前5个注释并映射它.ID为5的所有注释都将被忽略.
如何重写查询以选择最多5条评论的帖子?
当前表结构:
发布:
CREATE TABLE IF NOT EXISTS `post` ( `id` int(11) NOT NULL AUTO_INCREMENT, `feed_id` int(11) DEFAULT NULL, `user_id` int(11) DEFAULT NULL, `origin_id` int(11) DEFAULT NULL, `content` longtext COLLATE …