sql >> Databasteknik >  >> RDS >> Mysql

Väljer poster i ordning efter överordnat id

Om de utan föräldrar hade null i deras parent kolumn, skulle ditt uttalande vara mycket enkelt:

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

Om du insisterar på 0 representerar ingen förälder kan du använda mer utförlig CASE WHEN ... THEN ... uttalande.

Redigera:

-- 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. Skapa PDF-filer med PLSQL i Oracle

  2. EF-fråga till Oracle kastar ORA-12704:teckenuppsättningsfel

  3. Flera databaser i docker och docker-compose

  4. SQL Server – Dissekera internerna i sp_spaceused