MySQL SÉLECTIONNEZ Arbre Parent Id

Comment puis-je trier les enregistrements d'une instruction SELECT afin qu'ils représentent valide d'un arbre?

Toutes mes tentatives d'afficher les sous-nœuds imbriqués sous faux nœuds parents. Quel est le moyen le plus fiable pour atteindre cette commande?

Données

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

Sortie

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

La Visualisation Des Données

Root
    Node A
        Sub-Node C
            Sub-Node E
        Sub-Node D
    Node B
Alors que les exemples fournis ci-dessous montrent quelques vraiment cool requêtes, je ne pense pas que c'est la couche de données de travail à fournir à la visualisation. Vous pouvez le faire plus facile (et beaucoup plus attrayant visuellement) avec PHP.
Je suis d'accord avec vous. J'espérais qu'il y aurait un rendement moyen efficace pour récupérer les résultats avec une simple requête, mais il ne regarde pas comme il va être très facile de cette façon. La seule solution qui vient à l'esprit est de trier avec PHP dans une série de temporaire de tableaux. Je n'ai besoin que d'un tableau plat, mais qui est triée par contiguïté.
regardez cette réponse pour le même cas: stackoverflow.com/a/33699713/5559741

OriginalL'auteur Lea Hayes | 2011-04-16