【发布时间】:2012-04-04 04:39:56
【问题描述】:
我有一个基本上看起来像这样的架构:
CREATE TABLE `data` (
`id` int(10) unsigned NOT NULL,
`title` text,
`type` tinyint(4),
`parent` int(10)
)
type 字段只是一个枚举,其中 1 是父类型,2 是子类型(实际上有很多类型,其中一些应该表现得像父母,有些应该像孩子一样)。 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 不为空,则应将其分组在其父级之下。
【问题讨论】:
-
这是 2 级层次结构还是任意深度的树?
-
@Eric,只是一个简单的 2 级层次结构
标签: mysql