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

Truy vấn con MySQL bên trong trường ORDER BY. (không có Tham gia bên trong)

Tôi thực sự không thể thấy cách nào để làm điều đó trực tiếp bằng cách sử dụng ORDER BY FIELD.

Tuy nhiên, tôi tự hỏi liệu bạn có thể thực hiện THAM GIA với bảng meta và sau đó ĐẶT HÀNG BẰNG FIND_IN_SET.

Chưa thử nghiệm điều này, nhưng hy vọng sẽ cung cấp cho bạn ý tưởng:-

SELECT * 
FROM `categories` 
INNER JOIN meta ON metakey = 'category_order' AND FIND_IN_SET(categories.ID,metavalue)
WHERE `parent` = '0' 
ORDER BY FIND_IN_SET(categories.ID,metavalue)

Có thể FIND_IN_SET trên JOIN là không cần thiết



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hai ứng dụng Laravel trên cùng một máy chủ xung đột với nhau

  2. MySQL / PHP Chỉ chọn các giá trị duy nhất từ ​​nhiều cột và đặt chúng vào các mảng riêng biệt

  3. thông báo qua email về ngày hết hạn

  4. C # / NHibernate - Nhận 10 bản ghi đầu tiên được sắp xếp theo tổng nhóm

  5. Thực thể mạnh và yếu MYSQL