Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wybieranie rekordów w kolejności identyfikatora rodzica

Jeśli osoby bez rodziców miały null w ich parent Twoja wypowiedź byłaby bardzo prosta:

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

Jeśli nalegasz na 0 reprezentujący brak rodzica, możesz użyć bardziej gadatliwego CASE WHEN ... THEN ... oświadczenie.

Edycja:

-- 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zmiana rozmiaru obrazu PHP

  2. Grupować według dnia i nadal wyświetlać dni bez wierszy?

  3. Jak sprawdzić, czy dane dane występują w wielu tabelach (z których wszystkie mają tę samą kolumnę)?

  4. MySQL – Naprawa – Błąd – Twoje hasło nie spełnia aktualnych wymagań politycznych

  5. Wysyłaj dane z Androida na serwer przez JSON