sql >> Base de Datos >  >> RDS >> Mysql

cómo contar la aparición de una palabra en varias filas de una base de datos mysql

Puedes agregar el conteo en ORDER BY cláusula.

Prueba de esta manera:

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

Para obtener los registros de 2 ocurrencias, puede usar HAVING cláusula:

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