sql >> Database teknologi >  >> RDS >> Mysql

Hvordan finder man de mest populære ordforekomster i MySQL?

Du kan udtrække ord med en vis strengmanipulation. Forudsat at du har en taltabel, og at ord er adskilt af enkelte mellemrum:

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;

Hvis du ikke har en taltabel, kan du konstruere en manuelt ved hjælp af en underforespørgsel:

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

SQL Fiddle (med tilladelse fra @GrzegorzAdamKowalski) er her .



  1. Kardinalitetsvurdering:Kombination af tæthedsstatistik

  2. Hvordan håndterer man databasenedbrud (Glassfish/MySQL)?

  3. OPDATERING med BESTIL AF

  4. Mysql XML-tabel eksport kommandolinje