如果您只想返回每个帖子的 1 行,以及帖子的所有评论,最简单的方法是使用GROUP_CONCAT()
. 这将返回所有列数据的 csv。假设这update_content
是帖子评论,请尝试类似 -
SELECT posts.post_title, posts.post_modified, post_content, GROUP_CONCAT(update_modified), GROUP_CONCAT(update_content)
FROM posts
LEFT JOIN updates
ON posts.post_ID = updates.update_post_ID
GROUP BY updates.update_post_ID
注意 -默认值为 1024。如果您GROUP_CONCAT()
的group_concat_max_len
评论变得太长,您将需要在运行GROUP_CONCAT()
查询之前增加它,否则评论将被截断 -
SET [GLOBAL | SESSION] group_concat_max_len = 10240; // must be in multiples of 1024
SELECT id, name
GROUP_CONCAT(comment) AS comment
FROM table
GROUP BY name;
您还需要注意,max_allowed_packet
因为这是您可以设置的限制var_group_concat_max_len
。