在mysql中用逗号分隔所选值的string

我想在MySQL中将选定的值转换为逗号分隔的string。 我的初始代码如下:

SELECT id FROM table_level where parent_id=4; 

其中产生:

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

我所需的输出将如下所示:

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

检查这个

 SELECT GROUP_CONCAT(id) FROM table_level where parent_id=4 group by parent_id; 
 SELECT GROUP_CONCAT(id) FROM table_level where parent_id=4 GROUP BY parent_id; If you have multiple rows for parent_id. SELECT REPLACE(id,' ',',') FROM table_level where parent_id=4; If you want to replace space with comma. 

使用mysql的group_concat()函数。

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

它会给你串联的string,如:

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

尝试这个

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

结果会是

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

在mysql中使用group_concat方法

组中值之间的默认分隔符是逗号(,)。 要指定任何其他分隔符,请使用SEPARATOR ,如下所示。

 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

要消除分隔符,然后使用SEPARATOR ''

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

请参阅更多信息GROUP_CONCAT