Mysql 中的group_concat函数的使用及陷阱
Posted somTian
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql 中的group_concat函数的使用及陷阱相关的知识,希望对你有一定的参考价值。
group_concat函数
mysql 中的group_concat 是字符串连接函数,完整的语法如下:
group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])
可以结合group by 实现分组信息,同时可以指定分隔符和排序规则
陷阱
GROUP_CONCAT有个最大长度的限制,超过最大长度就会被截断掉
可以通过下面的语句查看最大长度
SELECT @@global.group_concat_max_len;
1024这就是一般MySQL系统默认的最大长度,如果你的bid串起来大于这个就会出问题,好在有解决的办法:
- 1.在MySQL配置文件中加上
group_concat_max_len = 204800 #你设定的最大长度
- 2.可以简单一点,执行语句:
mysql> SET GLOBAL group_concat_max_len=204800;
第一种方式需要重启mysql,建议使用第二种!
以上是关于Mysql 中的group_concat函数的使用及陷阱的主要内容,如果未能解决你的问题,请参考以下文章
关于如何在vertica上使用MySQL的group_concat()函数
SQL 中的 STUFF 等效函数(MySQL 中的 GROUP_CONCAT / Oracle 中的 LISTAGG)