介绍
Mysql中关于 group_concat函数详解
1、group_concat()主要功能:能将相同的行组合起来
2、完整的语法如下:
group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])
3、长度限制:在mysql中,有个函数叫“group_concat”,平常使用可能发现不了问题,在处理大数据的时候,会发现内容被截取了,其实MYSQL内部对这个是有设置的,默认不设置的长度是1024,如果我们需要更大,就需要手工去修改配置文件;或者通过sql语句来修改。
4、查询group_concat最大长度限制
select @@global.group_concat_max_len;
5、修改group_concat最大长度限制
1).在MySQL配置文件中加上
group_concat_max_len = 102400 #你要的最大长度
2).可以简单一点,执行语句,可以设置作用范围
SET GLOBAL group_concat_max_len=102400;
SET SESSION group_concat_max_len=102400;
6、先举一个简单的例子
select group_concat(f_a) from t_one group by f_b;
按f_b进行分组查询,将每组中的f_a进行累加。
7、修改默认的分隔符
select group_concat(f_a separator '_') from t_one group by f_b;
separator 是一个关键字,后面跟着要进行分隔的字符
8、排序
select group_concat(f_a order by f_a separator '_') from t_one group by f_b;
9、和concat使用
group_concat默认返回的是BLOB大对象,可以使用concat,返回字符串,还可以在返回的内容,在加入其它的数 据。
参考
本文为原创,如果您当前访问的域名不是surenpi.com,请访问“素人派”。