sql >> Databáze >  >> RDS >> Mysql

mysql SEŘADIT PODLE počtu jedinečných shod slov

Můžete to udělat mnoha způsoby, například

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

Ukázka SQLFiddle

nebo pomocí 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


  1. Náhodně zkombinujte dvě slova z databáze MySQL

  2. Proč \G v SELECT * FROM název_tabulky\G?

  3. Při použití pythonu a mysql nebyly v příkazu SQL použity všechny parametry

  4. Existuje rozdíl v používání INT(1) vs TINYINT(1) v MySQL?