2012-03-19 11 views
6

que tengo una tabla de MySQL comentarios de esa tabla un campo es etiquetas y todas las etiquetas están separados por comas comogrupo mysql por comas valores

Comentarios Tabla

Name Reply Tags 
a  b  new,old,facebook,fb 
b  d  water,faebook,wall 
b  r  wall,php,fb 
c  q  name,facebook,email 
a  y  weather,cold,old 
a  w  twitter,next,pet,fb 

Necesito conseguir separado la etiqueta más utilizada en esta tabla con la consulta de MySQL ...

+3

Considere refaccionar el diseño de su base de datos y almacene las etiquetas para combinaciones de Nombre/Respuesta en una tabla separada, con una fila para cada etiqueta. –

+1

Debería _realmente_ intentar normalizar su tabla, MySQL realmente no es muy bueno para dividir cadenas. La consulta es factible, pero no muy eficiente. –

+1

si no puede normalizar la base de datos, entonces solo se puede hacer en el nivel de script php. – neeraj

Respuesta

3

Creo que el mejor enfoque es utilizar una tabla separada para Etiquetas y para la relación entre Etiquetas y su tabla (es decir: C ommentTags), le permitirá encontrar rápidamente aquellos comentarios que usan cualquier etiqueta específica, hacer estadísticas, etc. Con su enfoque actual, termina usando una división de cadenas para cada fila, cada vez.

Ahora, si está atascado con su enfoque actual, here es una pregunta acerca de la división de cadenas que puede serle útil. Pero preveo una gran cantidad de quejas de rendimiento por parte de los usuarios ...

+0

Gracias por su respuesta rápida, pero mi base de datos no está normalizada, así que puedo obtener esto ... @Joachim Isaksson, ¿cómo puedo hacer esto en PHP ... –

Cuestiones relacionadas