sql >> Base de Datos >  >> RDS >> Mysql

mysql ORDENAR POR cantidad de coincidencias de palabras únicas

Puedes hacerlo de muchas formas por ejemplo

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

Demostración de SQLFiddle

o con CASO

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