如何對SELECT語句的記錄進行排序,以便它們代表有效的樹?MySQL SELECT Tree Parent IDs
我所有的嘗試都顯示嵌套在錯誤父節點下的子節點。什麼是最可靠的方法來實現這種排序?
數據
ID Parent ID Title
--------------------------------------------
0 NULL Root
1 0 Node A
2 0 Node B
3 1 Sub-Node C
4 1 Sub-Node D
5 3 Sub-Node E
輸出
ID Parent ID Title
--------------------------------------------
0 NULL Root
1 0 Node A
3 1 Sub-Node C
5 3 Sub-Node E
4 1 Sub-Node D
2 0 Node B
數據可視
Root
Node A
Sub-Node C
Sub-Node E
Sub-Node D
Node B
雖然下面提供的示例顯示了一些非常酷的查詢,但我不認爲它是提供可視化的數據層的工作。你可以使用PHP更簡單(並且更具視覺吸引力)。 – Blindy 2011-04-16 17:57:05
@Bindin我同意你的意見。我希望能有一種性能高效的方式來通過簡單的查詢檢索結果,但它看起來並不像這樣很容易。想到的唯一解決方案是將PHP與一系列臨時數組進行排序。我只需要一個平面數組,但是需要爲相鄰數據進行排序。 – 2011-04-16 18:03:03
看看這個答案爲相同的情況:http://stackoverflow.com/a/33699713/5559741 – wajeeh 2015-11-13 18:48:43