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

Sắp xếp có điều kiện trong MySQL?

Bạn có thể thử ORDER BY (done asc, aux desc) nơi aux được tính bằng CASE để mang lại mức độ ưu tiên hoặc ngày dựa trên giá trị của done (bạn có thể phải truyền chúng sang cùng một loại để phù hợp với cùng một biểu thức, ví dụ:truyền ngày thành một số nguyên ngày phù hợp).

Ví dụ:

SELECT * FROM tab
ORDER BY done desc,
         case done
             when 0 then prio 
             else to_days(thedate)
         end desc;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Truy vấn động sử dụng số lượng biến đối số IN (p1, p2, p3)

  2. Bao gồm một bộ đếm bổ sung trong tập kết quả MySQL

  3. Nhập MS ACCESS DB vào mySql?

  4. MySQL và CASE WHEN với một loạt các giá trị

  5. Django nhóm riêng biệt theo truy vấn trên hai trường