您的位置:首页技术文章
文章详情页

mysql查询排序问题

【字号: 日期:2022-06-21 08:05:36浏览:20作者:猪猪

问题描述

hi ,guys.

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

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

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

谢~~la

问题解答

回答1:

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

回答2:

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

不知道理解的对不对

相关文章: