Este grupo de expertos pasados ciertos días de investigación y recopilar de datos, obtuvimos la solución, esperamos que te sea útil en tu plan.
Solución:
Solución inteligente aquí en SO: Cómo contar elementos en una lista separada por comas MySQL
LENGTH(textfield) - LENGTH(REPLACE(textfield, ',', '')) + 1
EDITAR
Sí, puede seleccionarlo como una columna adicional: y corregir con CHAR_LENGTH de la respuesta de @HamletHakobyan:
SELECT
ID,
textfield,
(CHAR_LENGTH(textfield) - CHAR_LENGTH(REPLACE(textfield, ',', '')) + 1) as total
FROM table
SELECT SUM(LENGTH(textfield) - LENGTH(REPLACE(textfield, ',', '')) + 1)
FROM tablename
Hay una pequeña pero significativa omisión en todas las respuestas. Todo funcionará solo si el conjunto de caracteres de la base de datos es utf8
más o menos, es decir, donde el símbolo ,
obtiene un byte. El hecho de que el LENGTH
la función devuelve el número de bytes
en vez de chars
. La respuesta correcta es usar CHAR_LENGTH
que devuelve el número de caracteres.
SELECT
SUM(CHAR_LENGTH(textfield) - CHAR_LENGTH(REPLACE(textfield, ',', '')) + 1) cnt
FROM yourTable
Tienes la posibilidad dar visibilidad a esta noticia si te ayudó.