DOWNVOTE es realmente confuso nombrar una cadena de columna, dándole un nombre que se parece a un tipo de datos. Por lo tanto, cualquier respuesta también se ve afectada por eso, ya que parece que están especificando un tipo de datos cuando especifican un nombre de columna
barlop
2
@barlop corrigió eso editando preguntas y respuestas.
Desde el enlace anterior GROUP_CONCAT: Esta función devuelve un resultado de cadena con los valores concatenados no NULL de un grupo. Devuelve NULL si no hay valores no NULL.
Desde el enlace anterior GROUP_CONCAT: Esta función devuelve un resultado de cadena con los valores concatenados no NULL de un grupo. Devuelve NULL si no hay valores no NULL.
: - En MySQL, puede obtener los valores concatenados de combinaciones de expresiones. Para eliminar valores duplicados, use la cláusula DISTINCT . Para ordenar los valores en el resultado, use la cláusula ORDER BY. Para ordenar en orden inverso , agregue la palabra clave DESC (descendente) al nombre de la columna por la que está ordenando en la cláusula ORDER BY. El valor predeterminado es el orden ascendente; esto puede especificarse explícitamente usando la palabra clave ASC. El separador predeterminado entre valores en un grupo es una coma (","). Para especificar un separador explícitamente, use SEPARATOR seguido del valor literal de la cadena que debe insertarse entre los valores del grupo. Para eliminar el separador por completo, especifique SEPARADOR '' .
El resultado se trunca a la longitud máxima dada por la variable de sistema group_concat_max_len, que tiene un valor predeterminado de 1024 caracteres, por lo que primero hacemos:
El resultado se trunca a la longitud máxima dada por la variable de sistema group_concat_max_len, que tiene un valor predeterminado de 1024 caracteres. docs
marlo
¿Cuál es el alcance de esta group_concat_max_lenconfiguración? Conexión / sesión actual, ¿o afectará a otros clientes?
Esto no responde a la pregunta del OP sino que simplemente agrega información útil. Esto debería ser un comentario, no una respuesta.
Sean the Bean
1
Gracias por este fragmento de código, que puede proporcionar una ayuda limitada e inmediata. Una explicación adecuada mejoraría en gran medida su valor a largo plazo al mostrar por qué esta es una buena solución al problema y la haría más útil para futuros lectores con otras preguntas similares. Por favor, editar su respuesta a añadir un poco de explicación, incluyendo los supuestos realizados.
Donald Duck
11
Grandes respuestas También tuve un problema con NULLS y logré resolverlo al incluir una COALESCE dentro de GROUP_CONCAT. Ejemplo de la siguiente manera:
Respuestas:
http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat
Desde el enlace anterior
GROUP_CONCAT
: Esta función devuelve un resultado de cadena con los valores concatenados no NULL de un grupo. Devuelve NULL si no hay valores no NULL.fuente
Más detalles aquí .
Desde el enlace anterior
GROUP_CONCAT
: Esta función devuelve un resultado de cadena con los valores concatenados no NULL de un grupo. Devuelve NULL si no hay valores no NULL.fuente
Te dará una cadena delimitada por comas
fuente
: - En MySQL, puede obtener los valores concatenados de combinaciones de expresiones. Para eliminar valores duplicados, use la cláusula DISTINCT . Para ordenar los valores en el resultado, use la cláusula ORDER BY. Para ordenar en orden inverso , agregue la palabra clave DESC (descendente) al nombre de la columna por la que está ordenando en la cláusula ORDER BY. El valor predeterminado es el orden ascendente; esto puede especificarse explícitamente usando la palabra clave ASC. El separador predeterminado entre valores en un grupo es una coma (","). Para especificar un separador explícitamente, use SEPARATOR seguido del valor literal de la cadena que debe insertarse entre los valores del grupo. Para eliminar el separador por completo, especifique SEPARADOR '' .
O
fuente
El resultado se trunca a la longitud máxima dada por la variable de sistema group_concat_max_len, que tiene un valor predeterminado de 1024 caracteres, por lo que primero hacemos:
y luego, por ejemplo:
fuente
group_concat_max_len
configuración? Conexión / sesión actual, ¿o afectará a otros clientes?Grandes respuestas También tuve un problema con NULLS y logré resolverlo al incluir una COALESCE dentro de GROUP_CONCAT. Ejemplo de la siguiente manera:
Espero que esto ayude a alguien más
fuente