我在这个网站上找到了一个评论查询示例,它与我当前的数据库结构完美配合。
链接:How to make comment reply query in MYSQL?
接受的答案有效,但我想知道是否有可能撤销订单以便最新评论首先出现?
SELECT *
FROM comments
ORDER BY IF(ParentId = 0, Id, ParentId), Id
我在查询中尝试了“desc”,但这会弄乱父/子评论排序。
答案 0 :(得分:1)
我认为你正在寻找这个:
SELECT *
FROM comments
ORDER BY IF(ParentId = 0, Id, ParentId), ParentId!=0, Id desc
这将按照ASC顺序对所有父母进行排序,然后按DESC顺序对所有评论进行排序,将每个父母留在顶部。请参阅小提琴here。