Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да подредя резултатите от заявката на MYSQL ORDER BY?

За да получите сортирането в реда, който искате, използвайте вашите условия в ORDER BY, но използвайте DESC след тях.

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

Ако това не работи, защото вашата заявка е по-сложна, тогава можете да използвате булева логика, за да промените заявката си (A OR B OR C) AND D в (A AND D) OR (B AND D) OR (C AND D) тогава можете да използвате следната заявка:

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 не е необходимо тук, защото всички редове го връщат, но в по-сложен пример (където връщате и някои редове, които не са статични), тогава ще трябва да го направите по този начин.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP Mysql PDO:Обща грешка:2006 MySQL сървърът е изчезнал

  2. Проблем с отметката на Bash + MySQL -d

  3. MySQL преобразува изхода timediff във формат ден, час, минута, секунда

  4. Mysql инструкция за вмъкване и избор на няколко реда с last_insert_id()

  5. Предупреждение:mysqli::mysqli():(HY000/1045):Достъпът е отказан за потребител 'database'@'localhost' (използвайки парола:NO) в