sql >> Databasteknik >  >> RDS >> Mysql

Hämta förälder-barn-hierarki från en självrefererande mysql-tabell

MySQL stöder inte rekursiva frågor, så om ett barn kan få barn finns det inget sätt att formulera en sådan fråga. Annars bör denna fråga returnera raderna i den ordning som du behöver:

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

Se fiolen här . Tricket är att sortera rader efter id om det är en förälder eller av parent_id om det är ett barn, och sedan med id .




  1. Bootstrappa SQL Express från WiX?

  2. Mysql-fråga för att hitta summan av fält med samma kolumnvärde

  3. hur man får positionen för sorterade rader med mysql och php

  4. Lägga till rader i tabellen med unik kolumn:Få befintliga ID-värden plus nyskapade