MYSQL中group_concat有长度限制!默认1024

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:
在mysql中,有个函数叫“group_concat”,平常使用可能发现不了问题,在处理大数据的时候,会发现内容被截取了,
其实MYSQL内部对这个是有设置的,默认不设置的长度是1024,如果我们需要更大,就需要手工去修改配置文件。

详细说明如下:

用了group_concat后,select里如果使用了limit是不起作用的.
用group_concat连接字段的时候是有长度限制的,并不是有多少连多少。但你可以设置一下。
使用group_concat_max_len系统变量,你可以设置允许的最大长度。
程序中进行这项操作的语法如下,其中 val 是一个无符号整数:
SET [SESSION | GLOBAL] group_concat_max_len = val;
若已经设置了最大长度,则结果被截至这个最大长度。
在SQLyog中执行 SET GLOBAL group_concat_max_len = 10 后,重新打开SQLyog,设置就会生效。
---------------------------------------------------------------
GROUP_CONCAT将某一字段的值按指定的字符进行累加,系统默认的分隔符是逗号,可以累加的字符长度为1024字节。可以对这些参数进行修改。
1.先举一个简单的例子
   select group_concat(f_a) from t_one group by f_b;
   按f_b进行分组查询,将每组中的f_a进行累加。
2.修改默认的分隔符
   select group_concat(f_a  separator  '_') from t_one group by f_b;
   separator  是一个关键字,后面跟着要进行分隔的字符
3.排序
   select group_concat(f_a order by f_a  separator  '_') from t_one group by f_b;
4.修改默认字符大小
   1).在MySQL配置文件中加上
        group_concat_max_len = 102400 #你要的最大长度
    2).可以简单一点,执行语句,可以设置作用范围
           SET GLOBAL group_concat_max_len=102400;
           SET SESSION group_concat_max_len=102400;
5.和concat使用
    group_concat默认返回的是BLOB大对象,可以使用concat,返回字符串,还可以在返回的内容,在加入其它的数 据。
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
10天前
|
关系型数据库 MySQL 数据库
MySql GROUP_CONCAT使用说明
MySql GROUP_CONCAT使用说明
|
8月前
|
前端开发 关系型数据库 MySQL
数据合并与分隔:解析MySQL中的GROUP_CONCAT()函数
在数据库管理中,将多行数据合并成一行并以特定分隔符进行分隔,常用于生成逗号分隔的列表等情况。GROUP_CONCAT()函数就是帮助我们实现这一目标的工具。
282 0
|
9月前
|
关系型数据库 MySQL
MySQL GROUP_CONCAT 函数
MySQL GROUP_CONCAT 函数,字符串连接过长被截断
98 0
|
9月前
|
关系型数据库 MySQL
Mysql GROUP_CONCAT与CONCAT_WS配合使用单选、多选拼接
Mysql GROUP_CONCAT与CONCAT_WS配合使用单选、多选拼接
|
12月前
|
关系型数据库 MySQL
MySQL、Mariadb中GROUP_CONCAT 函数使用介绍
MySQL、Mariadb中GROUP_CONCAT 函数使用介绍
121 0
Zp
|
关系型数据库 MySQL
MySQL教程之concat以及group_concat的用法
MySQL教程之concat以及group_concat的用法
Zp
184 0
|
关系型数据库 MySQL
MySQL - 替换,大小写,拼接,取几位,长度
MySQL - 替换,大小写,拼接,取几位,长度
78 0
|
存储 机器学习/深度学习 JSON
一文搞懂MySQL表字段类型长度的含义
一文搞懂MySQL表字段类型长度的含义
|
SQL 安全 关系型数据库
如何在命令长度受限的情况下成功get到webshell(函数参数受限突破、mysql的骚操作)
如何在命令长度受限的情况下成功get到webshell(函数参数受限突破、mysql的骚操作)
128 0
如何在命令长度受限的情况下成功get到webshell(函数参数受限突破、mysql的骚操作)
MySQL 日志之 binlog 格式 → 关于 MySQL 默认隔离级别的探讨
背景问题 再讲 binlog 之前,我们先来回顾下主流关系型数据库的默认隔离级别,是默认隔离级别,不是事务有哪几种隔离级别,别会错题意了 1、Oracle、SQL Server 的默认隔离级别是什么,MySQL 的呢 ? 2、为什么 MySQL 的默认隔离级别是 RR ?