我想在MySQL中将选定的值转换成逗号分隔的字符串。我的初始代码如下:
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"
Answers:
检查一下
SELECT GROUP_CONCAT(id) FROM table_level where parent_id=4 group by parent_id;
使用mysql的group_concat()函数。
SELECT GROUP_CONCAT(id) FROM table_level where parent_id=4 GROUP BY parent_id;
它会为您提供连接字符串,例如:
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"
组中值之间的默认分隔符是逗号(,)。要指定其他任何分隔符,请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