我有一個模式,基本上是這樣的: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