Ik weet dat dit een oude vraag is, maar je zou een uitdrukking tussen haakjes moeten kunnen plaatsen om het te evalueren
SELECT *
FROM `cars`
WHERE `color` = "black"
OR `weight` = "heavy"
OR `type` = "limo"
ORDER BY ( (`color` = "black")
+ (`weight` = "heavy")
+ (`type` = "limo")
) DESC
Elke uitdrukking tussen haakjes is gelijk aan 1 als waar, 0 als onwaar; dus de som hiervan is het aantal overeenkomsten.