介绍

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,请访问“​​素人派​​”。


查看原文:​​http://surenpi.com/2017/07/07/%e5%85%b3%e4%ba%8emysql-%e6%95%b0%e6%8d%ae%e5%ba%93%e7%9a%84group_concat%e8%81%9a%e5%90%88%e5%87%bd%e6%95%b0%e4%bd%bf%e7%94%a8%e6%96%b9%e6%b3%95/​