mysql之group_concat

group_concat() 函数的作用是将group by产生的同一个分组中的值连接起来,返回一个字符串结果;

基本语法

group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc  ] [separator '分隔符'] );

说明
可以使用distinct排除重复值;可以使用order by子句对结果中的值进行排序;

返回的字符串的默认分隔符从逗号(,),若要改为其他分隔符,则使用SEPARATOR子句修改分隔符,如下语句:

select classname,GROUP_CONCAT(username SEPARATOR ';' ) FROM user_table  WHERE 1=1
GROUP BY classname

注意
mysql中group_concat函数处理字符串的长度是由限制的,默认长度为1024,如果拼接的字符串超过1024,就会在数据库里面被截取,所以不会显示所有拼接数据;

可以使用如下语句进行设置:

设置当前session的group_concat长度,其他session连接不受影响:

SET SESSION group_concat_max_len = 102400;

设置全局group_concat长度:

SET GLOBAL group_concat_max_len = 102400;
posted @ 2020-12-27 17:09  尘山海  阅读(473)  评论(0)    收藏  举报