hi ,guys.
问题是这样的,我有一张comment表,存储了所有用户的评论。
其中,pid代表该评论的父评论id。我想要获取pid为0的评论,按照它的子评论(评论的回复)的从大到小排列。
db使用了mysql,我不知该怎么写这个SQL。你能帮我么?
谢~~la
hi ,guys.
问题是这样的,我有一张comment表,存储了所有用户的评论。
其中,pid代表该评论的父评论id。我想要获取pid为0的评论,按照它的子评论(评论的回复)的从大到小排列。
db使用了mysql,我不知该怎么写这个SQL。你能帮我么?
谢~~la
SELECT p.* FROM comment p LEFT JOIN comment c ON p.id = c.pid AND p.pid = 0 ORDER BY c.id desc
如果一个父评论下面有多个子评论,需要用到子查询
SELECT p.* FROM comment p LEFT JOIN (SELECT MAX(id) as id , pid FROM comment where pid != 0 GROUP BY pid) c ON p.id = c.pid AND p.pid = 0 ORDER BY c.id desc
不知道理解的对不对
5 回答3.2k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
5 回答1.4k 阅读
3 回答1.2k 阅读✓ 已解决
2 回答2k 阅读
3 回答2k 阅读
不知道理解的对不对,查询并排序:select * from comment where pid = 0 order by (子评论回复字段 )desc