【发布时间】:2016-08-12 21:22:29
【问题描述】:
评论表
+------+----------+
| id | comment |
+------+----------+
| 1 | foo |
| 2 | bar |
| 3 | foobar |
+------+----------+
回复表
+------+----------+------------+
| id | reply |comment_id |
+------+----------+------------+
| 1 | nice lol | 1 |
| 2 | ok ok | 2 |
| 3 | hello | 1 |
| 4 | hello2 | 1 |
| 5 | hello1 | 1 |
+------+----------+------------+
SELECT
`comment`.`comment`,
`x`.`reply`
FROM `comment` LEFT JOIN
(SELECT GROUP_CONCAT(`reply`) as reply ,reply.commnt_id FROM `reply`
GROUP BY `reply`.`comment_id` ORDER BY `reply`.`id` LIMIT 0,1)x ON x.comment_id = comment.id
结果是
+----------+-----------------+
| comment | reply |
+----------+-----------------+
| foo | nice lol,hello |
| bar | NULL |
| off | null |
+------+---------------------+
为什么第二条评论为空但如果我将限制设为 0,4 它会显示它的问题
【问题讨论】:
-
您是否尝试显示每条评论的前 2 条回复?
-
值得指出的是,正确的拼写是“reply”而不是“replay”。如果你有一个团队,他们会感谢你解决这个问题!
标签: mysql