Saya tahu ini adalah pertanyaan lama, tetapi Anda harus dapat membungkus ekspresi dalam tanda kurung untuk mengevaluasinya
SELECT *
FROM `cars`
WHERE `color` = "black"
OR `weight` = "heavy"
OR `type` = "limo"
ORDER BY ( (`color` = "black")
+ (`weight` = "heavy")
+ (`type` = "limo")
) DESC
Setiap ekspresi di dalam kurung akan sama dengan 1 jika benar, 0 jika salah; dengan demikian jumlah yang akan menjadi jumlah pertandingan.