sql >> Database >  >> RDS >> Mysql

Tel het aantal exemplaren van een subtekenreeks in een MySQL-kolom

Dit zou je een lijst met screen_names moeten geven en het totale aantal hashtags dat ze gebruiken.

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

Maar .... het is een vervelende vraag als de tafel enorm is. Ik zou een specifieke gebruiker kunnen specificeren in de innerlijke selectie als je alleen tellingen nodig hebt voor een enkele gebruiker. Zoals dit:

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. Paginering in PDO PHP

  2. xampp MySQL start niet op

  3. Docker MYSQL '[2002] Verbinding geweigerd'

  4. Lijst<int> toevoegen aan een mysql-parameter