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

Làm cách nào để đặt các kết quả truy vấn MYSQL THEO điều kiện ORDER BY?

Để sắp xếp theo thứ tự bạn muốn, hãy sử dụng các điều kiện của bạn trong ORDER BY, nhưng sử dụng DESC theo sau họ.

SELECT *
FROM person
WHERE (condition1 OR condition2 OR condition3)
AND maintable.status = static
ORDER BY
    condition1 DESC,
    condition2 DESC,
    condition3 DESC

Nếu điều này không hiệu quả vì truy vấn của bạn phức tạp hơn, thì bạn có thể sử dụng logic boolean để thay đổi truy vấn (A OR B OR C) AND D thành (A AND D) OR (B AND D) OR (C AND D) thì bạn có thể sử dụng truy vấn sau:

SELECT *
FROM person
WHERE (condition1 OR condition2 OR condition3)
AND maintable.status = static
ORDER BY
    condition1 AND static DESC,
    condition2 AND static DESC,
    condition3 AND static DESC

AND static ở đây là không cần thiết vì tất cả các hàng đều trả về nó, nhưng trong một ví dụ phức tạp hơn (trong đó bạn cũng trả về một số hàng không tĩnh) thì bạn sẽ phải thực hiện theo cách này.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Câu lệnh đã chuẩn bị sẵn mysqli num_rows trả về 0 trong khi truy vấn trả về lớn hơn 0

  2. Làm cách nào để thử lại giao dịch sau khi gặp sự cố bằng Doctrine?

  3. Cú pháp kích hoạt MySQL 'cập nhật trên cột'

  4. làm thế nào để sử dụng `charset` và` encoding` trong `create_engine` của SQLAlchemy (để tạo khung dữ liệu gấu trúc)?

  5. PHP CRUD Tạo, chỉnh sửa, cập nhật và xóa bài đăng với cơ sở dữ liệu MySQL