【问题标题】:Comment reply query (in reverse order)评论回复查询(倒序)
【发布时间】:2013-06-20 08:16:08
【问题描述】:

我在这个站点上找到了一个与我当前的数据库结构完美配合的 cmets 查询示例。

链接:How to make comment reply query in MYSQL?

接受的答案有效,但我想知道是否可以颠倒顺序以便最新的 cmets 首先出现?

SELECT *
FROM comments
ORDER BY IF(ParentId = 0, Id, ParentId), Id

我在查询中尝试了“desc”,但这会扰乱父/子评论排序。

【问题讨论】:

  • 。 .请举例说明数据以及您希望如何对其进行排序。

标签: mysql sql comments


【解决方案1】:

我想你正在寻找这个:

SELECT *
FROM comments
ORDER BY IF(ParentId = 0, Id, ParentId), ParentId!=0, Id desc

这将按 ASC 顺序对所有父项进行排序,然后按 DESC 顺序对所有 cmets 进行排序,每个父项都位于顶部。请看小提琴here

【讨论】:

  • 谢谢您,通过您的示例,我能够弄清楚我做错了什么。为了让评论回复不在父母面前出现,我必须这样做:ORDER BY IF(ParentId = 0, Id, ParentId) desc, Id
  • 更正:ORDER BY IF(ParentId = 0, Id, ParentId) desc, ParentId!=0, Id desc
猜你喜欢
  • 2011-08-17
  • 2021-03-14
  • 1970-01-01
  • 2012-09-05
  • 2010-12-12
  • 1970-01-01
  • 2020-10-02
  • 1970-01-01
  • 2019-08-07
相关资源
最近更新 更多