一、语法
group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])
该函数返回来自同一个分组的指定字段的非NULL值的连接起来字符串。二、用法
准备表和数据如下:
1、以cid分组,把同组的sname字段值打印在一行,逗号分隔(默认)
SELECT cid, GROUP_CONCAT(sname) from student group by cid;
注意,cid为1002中,sname为NULL的值没有参与连接
2、以cid分组,把同组的sname字段的值打印在一行,竖线分隔
SELECT cid, GROUP_CONCAT(sname separator '|') from student group by cid;
3、以cid分组,把同组的sname字段值去重后打印在一行
SELECT cid, GROUP_CONCAT(distinct sname) from student group by cid;
4、以cid分组,把同组的sname字段值排序后打印在一行
SELECT cid, GROUP_CONCAT(sname order by sname desc) from student group by cid;
三、补充
可以通过group_concat_max_len系统变量设置允许的最大长度
语法:SET [SESSION | GLOBAL] group_concat_max_len = unsigned_integer;
例如:SET GLOBAL group_concat_max_len = 1024;