cadena separada por comas de valores seleccionados en mysql

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" 

Mira esto

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

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 

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" 

Use el método group_concat en mysql

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; 

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