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

Jak najít nejoblíbenější výskyty slov v MySQL?

Slova můžete extrahovat pomocí manipulace s řetězci. Za předpokladu, že máte tabulku čísel a že slova jsou oddělena jednou mezerou:

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;

Pokud nemáte číselnou tabulku, můžete ji vytvořit ručně pomocí poddotazu:

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

SQL Fiddle (s laskavým svolením @GrzegorzAdamKowalski) je zde .



  1. Python &MySql:Unicode a kódování

  2. Výchozí formát data společnosti Oracle je RRRR-MM-DD, PROČ?

  3. Hromadné vkládání MySQL přes PHP

  4. Jak mohu vytvořit souvislou skupinu v MySQL?