Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak ustawić wyniki zapytania MYSQL w kolejności ORDER BY?

Aby uzyskać sortowanie w żądanej kolejności, użyj warunków w ORDER BY, ale użyj DESC po nich.

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

Jeśli to nie zadziała, ponieważ zapytanie jest bardziej złożone, możesz użyć logiki logicznej, aby zmienić zapytanie (A OR B OR C) AND D na (A AND D) OR (B AND D) OR (C AND D) możesz użyć następującego zapytania:

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 nie jest to konieczne, ponieważ wszystkie wiersze zwracają to, ale w bardziej złożonym przykładzie (gdzie zwracasz również niektóre wiersze, które nie są statyczne), musisz to zrobić w ten sposób.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Co uniemożliwiłoby mi łączenie się z serwerem MySQL na AWS RDS z maszyny wirtualnej AWS EC2?

  2. Łączenie tabel InnoDB z tabelami MyISAM

  3. Błąd PDO:SQLSTATE[HY000]:Błąd ogólny:2031

  4. Czy powinniśmy uwzględnić kolumnę sortowania, klucz podstawowy w indeksie złożonym (MySQL)

  5. Wycofanie MySQL w przypadku transakcji z utraconym/rozłączonym połączeniem