Mysql
 sql >> Datenbank >  >> RDS >> Mysql

wie man das Vorkommen eines Wortes in mehreren Zeilen einer MySQL-Datenbank zählt

Sie können die Anzahl in ORDER BY hinzufügen Klausel.

Versuchen Sie es folgendermaßen:

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

Um die Aufzeichnungen von 2 Vorkommen zu erhalten, können Sie HAVING verwenden Klausel:

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