Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL ORDER BY condição de dois campos


O resultado de uma comparação no MySQL é 0 ou 1 . Então Stock > 0 é 1 se true . E 1 e maior que 0 . Então ou use
ORDER BY Stock = 0 ASC, Price DESC

ou
ORDER BY Stock > 0 DESC, Price DESC

ou
ORDER BY case when Stock > 0
              then 1
              else 2
         end, 
         Price DESC