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

Jak uporządkować maksymalnie dwie kolumny, które w MySQL mogą być puste?

Jeśli wiesz, że salaryplus zawsze będzie większe niż salaryminus , możesz to zrobić

order by coalesce(salaryplus, salaryminus, 0)

coalesce zwróci pierwszą wartość, która nie jest null, lub (w tym przykładzie) 0, jeśli obie wartości są null.

W przeciwnym razie zrób coś takiego:

order by greatest(ifnull(salaryminus,0), ifnull(salaryplus,0))

To będzie traktować zarówno salaryminus i salaryplus jako 0, jeśli są zerowe, i uporządkują według większego z nich.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak uniknąć błędu braku pamięci w przeglądarce z powodu zbyt wielu wywołań ajax?

  2. Sprawdź, czy to jest duplikat

  3. HTML - Zmień\Aktualizuj zawartość strony bez odświeżania\przeładowania strony

  4. Data w UTC w mysql

  5. mysqldump:Mam errno 32 podczas zapisu