Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Chọn bản ghi theo thứ tự id cha

Nếu những người không có cha mẹ có null trong parent của chúng , câu lệnh của bạn sẽ rất đơn giản:

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

Nếu bạn nhấn mạnh vào 0 không đại diện cho cha mẹ, bạn có thể sử dụng chi tiết hơn CASE WHEN ... THEN ... tuyên bố.

Chỉnh sửa:

-- 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. Sử dụng PDO trong các lớp học

  2. Chọn một giá trị từ một nhóm dựa trên thứ tự từ các cột khác

  3. Xóa truy vấn để xóa hàng trong MySQL

  4. Làm cách nào để chọn hàng có ID cao nhất trong MySQL?

  5. Hàm MAX trong mệnh đề mysql ở đâu