Truco para contar palabras en MySQL
MySQL no tienen ninguna función para contar las palabras de una columna. Con este sencillo truco lo podemos resolver:
SELECT SUM( LENGTH(columna) - LENGTH(REPLACE(columna, ' ', ''))+1) FROM tabla
Básicamente se trata de contar el número de espacios.
Noticias similares:
- Enlaces sobre optimización de consultas en MySQL
- MyISAM más rápido que InnoDB, ¿seguro?
- Triptales, cómo contar un viaje
- Google anuncia un API para librerías AJAX
- Grandes eufemismos de la publicidad



Bastante ingenioso, pero no funciona en todos los casos. ¿que pasa si existe más de un espacio entre las palabras o a final de las palabras?, algo así:
“HOLA COLEGA” => 2 palabras (bien!)
“HOLA COLEGA CAPULLETE” => 3 palabras (bien!)
“HOLA COLEGA CAPULLETE ” => 4 palabras (no tan bien)
“HOLA COLEGA CAPULLETE ” => 5 palabras (no tan bien)
” TE PASAS ” => 12 palabras (no tan bien)
Podría mejorarse algo usando la función TRIM de MySQL pero eso solo eliminaría el problema en los espacios del principio y del final. Pero al menos es algo.