mysql使用group_contact有个很坑的

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

我在工作中有个定时任务查询订单什么什么的,然后我用的group_contact将订单号进行拼接,发现拼出来的字符串总是到最后一条数据不完整,我可能就猜到了可能这个订单太多了被截取了,果然把结果取出来,发现只有长1024,一百度,原来是group_contact默认长度为1024,如果非要全部显示的话,就需要去修改MySQL的配置文件:

#需要设置的长度
group_concat_max_len = 5120

第二种:

可以使用sql语句设置:

SET GLOBAL group_concat_max_len=5120;
SET SESSION group_concat_max_len=5120;

但是我想的是还是算了,我一次性少查一点吧,就用limit限制一下,结果emmmm。。。不生效>.<

咋肥事.....

又百度...

找到了overflow(对于程序员,这是个好东西呀,基本有问题找他都能解决,最大困难全英文,没事,幸好我英语一般般)

答案也就是在group_contact外层再加一个函数进行截取substring_index

substring_index(group_concat(s.title SEPARATOR ','), ',', 3) as skills

猜你喜欢

转载自blog.csdn.net/Amelia__Liu/article/details/84950695