用处:
group_concat:用在group by指定的字段进行分组时,将同一组的不同列拼接起来,并用分隔符分隔。要拼接的字段支持多个;
语法:
group_concat([distinct] 要连接的字段 [order by 排序字段 asc/desc] [separator'分隔符'])
示例表数据如下:
按name1进行分组,合并subject1,grade到同一行:
select name1,group_concat(subject1,grade order by subject1 desc separator ',' )
from test
group by name1
group_concat拼接后的字符串长度默认为1024,可通过设置group_concat_max_len系统变量调整最大长度:
完整语法:
SET [session|Global] group_concat_max_len=val,val是一个无符号整数,默认为1024;
SET session group_concat_max_len = 2048;
SET Global group_concat_max_len = 2048;