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

Conta le occorrenze di una sottostringa in una colonna MySQL

Questo dovrebbe darti un elenco di screen_name e il conteggio totale di tutti gli hashtag che usano.

SELECT  foo.screen_name, SUM(foo.counts) FROM 
  (
    SELECT screen_name, 
           LENGTH( tweet_text) - LENGTH(REPLACE(tweet_text, '#', '')) AS counts 
    FROM tweet_table 
  ) as foo 
GROUP BY  foo.screen_name

Ma.... è una brutta domanda se la tabella è enorme. Potrei specificare un utente specifico nella selezione interna se hai solo bisogno di conteggi per un singolo utente. In questo modo:

SELECT  foo.screen_name, SUM(foo.counts) FROM 
 (
    SELECT screen_name, 
         LENGTH( tweet_text) - LENGTH(REPLACE(tweet_text, '#', '')) AS counts 
    FROM tweet_table WHERE  screen_name = 'tweeter_user_1' 
 ) as foo 
GROUP BY  foo.screen_name