mysql查询排序问题

hi ,guys.

问题是这样的,我有一张comment表,存储了所有用户的评论。

其中,pid代表该评论的父评论id。我想要获取pid为0的评论,按照它的子评论(评论的回复)的从大到小排列

db使用了mysql,我不知该怎么写这个SQL。你能帮我么?

谢~~la

阅读 2.7k
2 个回答

不知道理解的对不对,查询并排序:select * from comment where pid = 0 order by (子评论回复字段 )desc

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

不知道理解的对不对

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题