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

Cómo contar elementos en una lista separada por comas MySQL

No hay una función integrada que cuente las ocurrencias de subcadenas en una cadena, pero puede calcular la diferencia entre la cadena original y la misma cadena sin comas:

LENGTH(fooCommaDelimColumn) - LENGTH(REPLACE(fooCommaDelimColumn, ',', ''))

Se editó varias veces en el transcurso de casi 8 años (¡guau!), así que para mayor claridad:la consulta anterior no necesita un + 1 , porque los datos de OP tienen una coma adicional al final.

Si bien, en general, el caso de la cadena se ve así:foo,bar,baz la expresión correcta sería

LENGTH(col) - LENGTH(REPLACE(col, ',', '')) + 1