Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mysql SORT BY Anzahl eindeutiger Wortübereinstimmungen

Sie können dies auf viele Arten tun, zum Beispiel

ORDER BY SIGN(LOCATE('dog',content))+
         SIGN(LOCATE('swim',content))+
         SIGN(LOCATE('better',content)) DESC

SQLFiddle-Demo

oder mit CASE

ORDER BY 
CASE WHEN content LIKE '%dog%' 
        THEN 1
        ELSE 0
END
+
CASE WHEN content LIKE '%swim%' 
        THEN 1
        ELSE 0
END
+
CASE WHEN content LIKE '%better%' 
        THEN 1
        ELSE 0
END

DESC