sql >> Database >  >> RDS >> Mysql

Records selecteren in volgorde van ouder-ID

Als degenen zonder ouders null . hadden in hun parent kolom, zou uw verklaring heel eenvoudig zijn:

SELECT id, name, parent FROM categories order by coalesce(parent, id), id;

Als je aandringt op 0 geen ouder vertegenwoordigt, kunt u meer uitgebreide CASE WHEN ... THEN ... . gebruiken verklaring.

Bewerken:

-- Sorting by name instead
select a.id, a.name, a.parent 
from categories a left join categories b on a.parent=b.id 
order by coalesce(b.name, a.name), a.name


  1. Selecteren over meerdere tabellen met UNION

  2. DAYNAME() Voorbeelden – MySQL

  3. Wanneer zou u een functie met tabelwaarde gebruiken?

  4. MySQL en controlebeperkingen