sql >> Databasteknik >  >> RDS >> Mysql

Räkna förekomster av en understräng i en MySQL-kolumn

Detta bör ge dig en lista över screen_names och det totala antalet hashtaggar de använder.

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

Men... det är en otäck fråga om bordet är enormt. Jag kan ange en specifik användare i det inre urvalet om du bara behöver räknas för en enskild användare. Så här:

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


  1. Ta bort dubbletter av rader från en liten tabell

  2. Uppdaterar AUTO_INCREMENT-värdet för alla tabeller i en MySQL-databas

  3. hur fyller man i mysql-kolumnvärdet baserat på en formel?

  4. Få det nya postens primärnyckel-ID från MySQL-infogningsfrågan?