sql >> Databasteknik >  >> RDS >> Mysql

Hur hittar man de mest populära ordförekomsterna i MySQL?

Du kan extrahera ord med viss strängmanipulation. Förutsatt att du har en taltabell och att ord är åtskilda med enstaka mellanslag:

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;

Om du inte har en taltabell kan du skapa en manuellt med hjälp av en underfråga:

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

SQL Fiddle (med tillstånd av @GrzegorzAdamKowalski) finns här .



  1. Oracle - ORA-01489:resultatet av strängsammansättningen är för lång

  2. Hur man formaterar negativa tal med vinkelparenteser i Oracle

  3. Hur skapar man paket i Oracle SQL Developer?

  4. En introduktion till MySQL-datatyper