with separated into group_concat array mysql select comma

separated - cadena separada por comas de valores seleccionados en mysql



mysql string to array (7)

Quiero convertir valores seleccionados en una cadena separada por comas en MySQL. Mi código inicial es el siguiente:

SELECT id FROM table_level where parent_id=4;

Que produjo:

''5'' ''6'' ''9'' ''10'' ''12'' ''14'' ''15'' ''17'' ''18'' ''779''

Mi salida deseada se vería así:

"5,6,9,10,12,14,15,17,18,779"


El separador predeterminado entre los valores en un grupo es coma (,). Para especificar cualquier otro separador, use SEPARATOR como se muestra a continuación.

SELECT GROUP_CONCAT(id SEPARATOR ''|'') FROM `table_level` WHERE `parent_id`=4 GROUP BY `parent_id`;

5 | 6 | 9 | 10 | 12 | 14 | 15 | 17 | 18 | 779

Para eliminar el separador, use SEPARATOR ''''

SELECT GROUP_CONCAT(id SEPARATOR '''') FROM `table_level` WHERE `parent_id`=4 GROUP BY `parent_id`;

Consulte para obtener más información GROUP_CONCAT


Mira esto

SELECT GROUP_CONCAT(id) FROM table_level where parent_id=4 group by parent_id;


Primero, set group_concat_max_len ; de lo contrario, no le dará todos los resultados:

SET GLOBAL group_concat_max_len = 999999; SELECT GROUP_CONCAT(id) FROM table_level where parent_id=4 group by parent_id;


Prueba esto

SELECT CONCAT(''"'',GROUP_CONCAT(id),''"'') FROM table_level where parent_id=4 group by parent_id;

El resultado será

"5,6,9,10,12,14,15,17,18,779"


Si tiene varias filas para parent_id.

SELECT GROUP_CONCAT(id) FROM table_level where parent_id=4 GROUP BY parent_id;

Si quieres reemplazar el espacio con una coma

SELECT REPLACE(id,'' '','','') FROM table_level where parent_id=4;



Use la función group_concat() de mysql.

SELECT GROUP_CONCAT(id) FROM table_level where parent_id=4 GROUP BY parent_id;

Te dará cadena concatenada como:

5,6,9,10,12,14,15,17,18,779