Mysql中关于 group_concat函数详解

  • 介绍

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

发表评论

电子邮件地址不会被公开。 必填项已用*标注