Ver Mensaje Individual
  #2 (permalink)  
Antiguo 02/04/2013, 13:20
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: Conteo de cadenas de texto por Columnas Mysql

Hola chomba:

Lo que puedes hacer es tirar tu tabla a la basura y hacer un buen diseño, evitando campos multivaluados, pues estos, como podrás darte cuenta, sólo te darán problemas...

Ahora bien, si no puedes hacer eso (pero en serio, no deseches la primer opción que te puse, porque esto es un terrible error de diseño ) lo puedes hacer de manera programática, es decir mediande un procedimiento almacenado o con el lenguaje de programación que estés utilizando.

la idea sería en primer lugar separar todas las palabras y una vez haciendo esto poder hacer un COUNT() agrupando por palabras, checa esta liga:

http://lists.mysql.com/mysql/199134

Haciendo algunas modificaciones, puedes agregar al final del procedimiento la consulta con el COUNT() agrupando por el campo VALUE y obtener algo como esto:

Código MySQL:
Ver original
  1. mysql> CALL split_string('adios,mundo,cruel,adios', ',');
  2. +-------+----------+
  3. | value | count(*) |
  4. +-------+----------+
  5. | adios |        2 |
  6. | cruel |        1 |
  7. | mundo |        1 |
  8. +-------+----------+
  9. 3 rows in set (0.05 sec)
  10.  
  11. Query OK, 0 rows affected (0.06 sec)

Dale un vistazo y nos comentas.

Saludos
Leo.