gpt4 book ai didi

mySQL层次分组排序

转载 作者:行者123 更新时间:2023-11-29 02:32:58 25 4
gpt4 key购买 nike

我有一个基本上看起来像这样的架构:

CREATE TABLE `data` (
`id` int(10) unsigned NOT NULL,
`title` text,
`type` tinyint(4),
`parent` int(10)
)

type 字段只是一个枚举,其中 1 是父类型,2 是子类型(实际上有很多类型,有些应该表现得像 parent ,有些应该表现得像 child )。 parent 字段表示一条记录是另一条记录的子记录。

我知道这可能不适合我要构建的查询,但这是我必须处理的。

我想对数据进行排序和分组,以便父记录按 title 排序,每个父记录下的分组是按 title 排序的子记录。像这样:

 ID | title       |type |parent 
--------------------------------
4 | ParentA | 1 |
2 | ChildA | 2 | 4
5 | ChildB | 2 | 4
7 | ParentB | 1 |
9 | ChildC | 2 | 7
1 | ChildD | 2 | 7

** 编辑 **

我们应该能够完全去除type 字段。如果 parent 不为空,那么它应该被分组到它的父级之下。

最佳答案

SELECT * FROM `data` ORDER BY COALESCE(`parent`, `id`), `parent`, `id`

关于mySQL层次分组排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10000643/

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