Mysql
 sql >> Base de données >  >> RDS >> Mysql

comment compter l'occurrence d'un mot dans plusieurs lignes d'une base de données mysql

Vous pouvez ajouter le nombre dans ORDER BY clause.

Essayez de cette façon :

SELECT *,(LENGTH(data) - LENGTH(REPLACE(data, 'key', ''))) / LENGTH('key') as cnt
FROM TableName
ORDER BY ((LENGTH(data) - LENGTH(REPLACE(data, 'key', ''))) / LENGTH('key')) DESC

Pour obtenir les enregistrements de 2 occurrences, vous pouvez utiliser HAVING clause :

SELECT *,(LENGTH(data) - LENGTH(REPLACE(data, 'key', ''))) / LENGTH('key') as cnt
FROM TableName
HAVING cnt=2
ORDER BY ((LENGTH(data) - LENGTH(REPLACE(data, 'key', ''))) / LENGTH('key')) DESC