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

SQL lồng nhau thứ tự bởi?

Một cái gì đó như thế này có thể hoạt động:

SELECT *
FROM categories
ORDER BY IF(parent_id, parent_id, category_id), parent_id, display_order

nhưng vì nó không thể sử dụng một chỉ mục, nó sẽ chậm. (Tuy nhiên, không kiểm tra, có thể sai)

ORDER BY đầu tiên điều kiện sắp xếp cha mẹ và con cái với nhau; sau đó cái thứ hai đảm bảo cha mẹ đứng trước con cái của nó; thứ ba sắp xếp các con với nhau.

Ngoài ra, nó rõ ràng sẽ chỉ hoạt động trong trường hợp bạn đã trực tiếp mô tả, nơi bạn có hệ thống phân cấp hai cấp.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Phát triển Rails - Không thể kết nối với máy chủ MySQL trên 'localhost' (10061)

  2. Dấu phân cách trong MySQL

  3. Các thanh kép (||) trong SQL có nghĩa là gì?

  4. mysql thay đổi khóa duy nhất thành chính (mariadb)

  5. Làm thế nào để chuyển đổi số trong tuần thành ngày?