Mysql
 sql >> Base de données >  >> RDS >> Mysql

Récupérer la hiérarchie parent-enfant à partir d'une table mysql auto-référencé

MySQL ne prend pas en charge les requêtes récursives, donc si un enfant peut avoir des enfants, il n'y a aucun moyen de formuler une telle requête. Sinon, cette requête devrait renvoyer les lignes dans l'ordre dont vous avez besoin :

SELECT * FROM tablename
ORDER BY
  CASE WHEN parent_id=0 THEN id ELSE parent_id END,
  id

Veuillez consulter le violon ici . L'astuce consiste à ordonner les lignes par id si c'est un parent ou par parent_id si c'est un enfant, puis par id .