sql >> Database >  >> RDS >> Mysql

Query om de verschillende woorden van alle waarden in een kolom te tellen

Niet op een gemakkelijke manier. Als je het maximale aantal woorden weet, kun je zoiets als dit doen:

select substring_index(substring_index(p.post, ' ', n.n), ' ', -1) as word,
       count(*)
from post p join
     (select 1 as n union all select 2 union all select 3 union all select 4
     ) n
     on length(p.post) - length(replace(p.post, ' ', '')) < n.n
group by word;

Merk op dat dit alleen werkt als de woorden worden gescheiden door enkele spaties. Als je een apart woordenboek hebt van alle mogelijke woorden, kun je dat ook gebruiken, zoiets als:

select d.word, count(p.id)
from dictionary d left join
     posts p
     on concat(' ', p.post, ' ') like concat(' %', d.word, ' %')
group by d.word


  1. Mysql-gegevens bijwerken die niet worden verzonden

  2. Hoe ACOS() werkt in MariaDB

  3. HTML-code verzenden via JSON

  4. Groot XML-bestand ontleden met PL/SQL