我有一个模式,基本上是这样的:MySQL的层次分组排序
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级层次结构还是任意深度的树? – 2012-04-03 20:14:18
@Eric,只是一个简单的2层次的层次结构 – ack 2012-04-03 20:16:14