Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como encontrar as ocorrências de palavras mais populares no MySQL?


Você pode extrair palavras com alguma manipulação de string. Supondo que você tenha uma tabela de números e que as palavras sejam separadas por espaços 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;

Se você não tiver uma tabela de números, poderá construir uma manualmente usando uma subconsulta:
from results r join
     (select 1 as n union all select 2 union all select 3 union all . . .
     ) n
     . . .

O SQL Fiddle (cortesia de @GrzegorzAdamKowalski) está aqui .