sql >> Databáze >  >> RDS >> Mysql

Výběr záznamů v pořadí podle ID rodiče

Pokud ti, kteří nemají rodiče, měli null v jejich parent vaše prohlášení by bylo velmi jednoduché:

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

Pokud trváte na 0 nereprezentující žádného rodiče, můžete použít podrobnější CASE WHEN ... THEN ... prohlášení.

Upravit:

-- 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. MySQL SELECT n záznamy založené na GROUP BY

  2. Zřetězit/sloučit hodnoty pole během seskupování/agregace

  3. Jak vytvořit uživatele/databázi ve skriptu pro Docker Postgres

  4. SQLite Connection uniklo, i když vše bylo uzavřeno