MySQL GROUP_CONCAT限制解决方案
作用:
GROUP_CONCAT函数可以拼接某个字段值成字符串,默认的分隔符是 逗号,即"," ,
如果需要自定义分隔符可以使用 SEPARATOR
如:
SELECT GROUP_CONCAT(name SEPARATOR '_') FROM user
限制:
GROUP_CONCAT 拼接的字符串的长度字节默认长度1024个字节,超过则会被截断。
查询默认长度:
命令
SHOW VARIABLES LIKE 'group_concat_max_len'
操作方法:(如图)
调整长度设置方法:
(1)在MySQL配置文件中加入:
文件:my.ini
追加设置:
group_concat_max_len = 102400
(2)SQL语句:
SET GLOBAL group_concat_max_len = 102400;SET SESSION group_concat_max_len = 102400;
注意:该方法缺点是重启服务后设置失效
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
MySql采用GROUP_CONCAT合并多条数据显示的方法
本文实例讲述了MySql采用GROUP_CONCAT合并多条数据显示的方法,分享给大家供大家参考.具体实现方法如下: 假设有这样一个需求: 1:班级表: id class_name 2:学生表: id name class_id 如果我们要查所有的班级以及每个班级下的学生,你一定会想到这样写法: 复制代码 代码如下: SELECT banji.*, user.name FROM `banji` left join user on banji.id=user.`class` where ban
-
mysql group_concat()函数用法总结
本文实例讲述了mysql group_concat()函数用法.分享给大家供大家参考,具体如下: group_concat(),手册上说明:该函数返回带有来自一个组的连接的非NULL值的字符串结果.比较抽象,难以理解. 通俗点理解,其实是这样的:group_concat()会计算哪些行属于同一组,将属于同一组的列显示出来.要返回哪些列,由函数参数(就是字段名)决定.分组必须有个标准,就是根据group by指定的列进行分组. group_concat函数应该是在内部执行了group by语句,这
-
MySQL统计函数GROUP_CONCAT使用陷阱分析
本文实例分析了MySQL统计函数GROUP_CONCAT使用中的陷阱.分享给大家供大家参考,具体如下: 最近在用MySQL做一些数据的预处理,经常会用到group_concat函数,比如类似下面一条语句 复制代码 代码如下: mysql>select aid,group_concat(bid) from tbl group by aid limit 1; sql语句比较简单,按照aid分组,并且把相应的bid用逗号串起来.这样的句子大家可能都用过,也可能不会出问题,但是如果bid非常多的话,你就
-
mysql利用group_concat()合并多行数据到一行
假设两个表a,b,b中通过字段id与a表关联,a表与b表为一对多的关系.假设b表中存在一字段name,现需要查询a表中的记录,同时获取存储在b表中的name信息,按照常规查询,b表中有多少记录,则会显示多少行,如果需要只显示a表记录行数,则需要把查询name字段得到的多行记录进行合并,可以通过程序实现,但也可直接在sql层完成. 方法: 利用group_concat()方法,参数为需要合并的字段,合并的字段分隔符默认为逗号,可通过参数separator指定,该方法往往配合group by 一起使
-
Mysql5.7中使用group concat函数数据被截断的问题完美解决方法
前天在生产环境中遇到一个问题:使用 GROUP_CONCAT 函数select出来的数据被截断了,最长长度不超过1024字节,开始还以为是navicat客户端自身对字段长度做了限制的问题.后面故意重新INSERT了一个字段长度超1024字节的数据,但是navicat能完整展示出来,所以就排除了navicat的问题. 然后想到1024这个熟悉的数字,会不会是C++框架在接收MySQL通过socket传输过来的数据时被处理了呢?于是手工在日志中打印这个字段,发现即使数据长度超过1024字节仍然是可以
-
如何修改Mysql中group_concat的长度限制
在mysql中,有个函数叫"group_concat",平常使用可能发现不了问题,在处理大数据的时候,会发现内容被截取了,其实MYSQL内部对这个是有设置的,默认不设置的长度是1024,如果我们需要更大,就需要手工去修改 详细说明如下: 用了group_concat后,select里如果使用了limit是不起作用的. 用group_concat连接字段的时候是有长度限制的,并不是有多少连多少.但你可以设置一下. 使用group_concat_max_len系统变量,你可以设置允许的最大
-
MySQL中group_concat函数深入理解
本文通过实例介绍了MySQL中的group_concat函数的使用方法,比如select group_concat(name) . MySQL中group_concat函数 完整的语法如下: group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符']) 基本查询 mysql> select * from aa; +------+------+ | id| name | +------+------+ |1 |
-
mysql的group_concat函数使用示例
MySQL中group_concat函数,完整的语法如下: 复制代码 代码如下: group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符']) 基本查询 复制代码 代码如下: select * from aa; 复制代码 代码如下: +------+------+| id| name |+------+------+|1 | 10||1 | 20||1 | 20||2 | 20||3 | 200 ||3 |
-
浅谈MySQL中group_concat()函数的排序方法
group_concat()函数的参数是可以直接使用order by排序的.666.. 下面通过例子来说明,首先看下面的t1表. 比如,我们要查看每个人的多个分数,将该人对应的多个分数显示在一起,分数要从高到底排序. 可以这样写: SELECT username,GROUP_CONCAT(score ORDER BY score DESC) AS myScore FROM t1 GROUP BY username; 效果如下: 以上这篇浅谈MySQL中group_concat()函数的排序方法就
-
Mysql的GROUP_CONCAT()函数使用方法
语法: GROUP_CONCAT([DISTINCT] expr [,expr ...][ORDER BY {unsigned_integer | col_name | expr}[ASC | DESC] [,col_name ...]][SEPARATOR str_val]) 下面演示一下这个函数,先建立一个学生选课表student_courses,并填充一些测试数据. SQL代码 复制代码 代码如下: CREATE TABLE student_courses ( stude
随机推荐
- ext前台接收action传过来的json数据示例
- Vmware+Centos7搭建Openstack环境(网络配置)
- JQuery自定义事件的应用 JQuery最佳实践
- Java单例模式、饥饿模式代码实例
- 一行代码实现纯数据json对象的深度克隆实现思路
- 简单实现js无缝滚动效果
- php采集神器cURL使用方法详解
- php中看实例学正则表达式
- PHP学习笔记之二 php入门知识
- Web表单提交之disabled问题js解决方法
- Python实现的Excel文件读写类
- Python调用C++程序的方法详解
- 详解Android系统中跨应用数据分享功能的实现
- MySQL学习笔记之创建、删除、修改表的方法
- Spring Boot开发Web应用详解
- jQuery EasyUI API 中文文档 可调整尺寸
- Android 高仿斗鱼滑动验证码
- Android播放多张图片形成的一个动画示例
- 适用于Java程序员的10道XML面试题 新鲜出炉
- 又一个图片自动缩小的JS代码