Mysql 中的group_concat函数的使用及陷阱

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/somTian/article/details/78706987

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,建议使用第二种!

猜你喜欢

转载自blog.csdn.net/somTian/article/details/78706987