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

SQL:encontre linhas e classifique de acordo com o número de colunas correspondentes?


Eu sei que esta é uma pergunta antiga, mas você deve conseguir envolver uma expressão entre parênteses para avaliá-la
SELECT   *           
FROM     `cars`
WHERE    `color` = "black"
   OR    `weight` = "heavy"
   OR    `type` = "limo"
ORDER BY (   (`color` = "black")
           + (`weight` = "heavy")
           + (`type` = "limo") 
         ) DESC

Cada expressão entre parênteses será igual a 1 se verdadeiro, 0 se falso; portanto, cuja soma será o número de correspondências.