gpt4 book ai didi

mysql - 使用 SQL 按不同方向对评论和回复进行排序

转载 作者:行者123 更新时间:2023-11-29 22:14:35 25 4
gpt4 key购买 nike

我在尝试对网站上的三个层次结构的评论进行排序时遇到困难。

我有一个“评论”表,其中包含评论或评论的答案。这些评论有一个cid,唯一标识符,一个pid,如果前一条评论是对另一个评论的回答,则指示父评论的cid注释和一个 thread 字段。

该线程是基于特定模式构建的:“00/”、“01/”等是 0 级评论,“00.00/”、“00.01”等是对评论“00/”的回复等等。

我只想要三个层次结构,这意味着线程不会比“xx.xx.xx/”长

我想按从最新到最旧的顺序对评论进行排序,但对回复进行相反的排序。

简单的例子:

02/
02.01/
02.01.00/
02.02/
02.03/
02.03.00/
02.03.01/
01/
01.00/
00/

(希望我说得足够清楚,让您能够理解!)

主要的一点是,我不太擅长 SQL 查询,如果您能帮助我解决这个问题,我会很高兴

到目前为止,我有一个查询有效,但仅适用于 0 级和 1 级评论:

SELECT  `cid` ,  `thread` 
FROM `comment`
ORDER BY SUBSTR(`thread`, 1, 2 ) DESC , `cid` ASC

结果如下:

0z/
0z.00/
0z.01/
0z.00.00/
0z.00.01/
0z.01.00/
0z.01.01/
0y/
0x/
...

你有什么想法吗? (请简单一点......谢谢!)

最佳答案

也许您需要二阶和三阶条件:

SELECT  `cid` ,  `thread` 
FROM `comment`
ORDER BY SUBSTR(`thread`, 1, 2 ) DESC , SUBSTR(`thread`, 4, 2 ) ASC, SUBSTR(`thread`, 7, 2 ) ASC

它将第一部分降序排序,每个第一部分内的第二部分升序排序,每个第二部分内的第三部分也升序排序。

关于mysql - 使用 SQL 按不同方向对评论和回复进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31313780/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com