Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment trouver les occurrences de mots les plus populaires dans MySQL ?

Vous pouvez extraire des mots avec une manipulation de chaîne. En supposant que vous ayez une table de nombres et que les mots soient séparés par des espaces simples :

select substring_index(substring_index(r.title, ' ', n.n), ' ', -1) as word,
       count(*)
from results r join
     numbers n
     on n.n <= length(title) - length(replace(title, ' ', '')) + 1
group by word;

Si vous n'avez pas de tableau de nombres, vous pouvez en créer un manuellement à l'aide d'une sous-requête :

from results r join
     (select 1 as n union all select 2 union all select 3 union all . . .
     ) n
     . . .

Le SQL Fiddle (avec la permission de @GrzegorzAdamKowalski) est ici .