Mysql
 sql >> Base de données >  >> RDS >> Mysql

Condition MySQL ORDER BY à deux champs

Le résultat d'une comparaison dans MySQL est 0 ou 1 . Donc Stock > 0 est 1 si true . Et 1 et supérieur à 0 . Donc soit utiliser

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