group_concat_max_len设置过小致group_concat()排列不全
问题描述:group_concat_max_len默认值1024导致group_concat函数排列显示不足
group_concat_max_len长度显示跟group_concat排列长度息息相关,如果group_concat显示长度超过1024,突破默认值,会出现显示不全的问题
group_concat函数:
mysql> select * from sc;
+-----------+-----+-------+
| Sno | Cno | Grade |
+-----------+-----+-------+
| 201215121 | 1 | 92 |
| 201215121 | 2 | 85 |
| 201215121 | 3 | 88 |
| 201215122 | 2 | 90 |
| 201215122 | 3 | 80 |
+-----------+-----+-------+
5 rows in set (0.01 sec) --将Cno横排显示
mysql> select Sno,group_concat(Cno) from sc group by Sno;
+-----------+-------------------+
| Sno | group_concat(Cno) |
+-----------+-------------------+
| 201215121 | 1,2,3 |
| 201215122 | 2,3 |
+-----------+-------------------+
2 rows in set (0.00 sec) --将Cno横排显示以';'分隔
mysql> select Sno,group_concat(Cno separator ';') from sc group by Sno;
+-----------+---------------------------------+
| Sno | group_concat(Cno separator ';') |
+-----------+---------------------------------+
| 201215121 | 1;2;3 |
| 201215122 | 2;3 |
+-----------+---------------------------------+
2 rows in set (0.00 sec) --将Sno去重横排显示
mysql> select Sno,group_concat(distinct Sno) from sc group by Sno;
+-----------+----------------------------+
| Sno | group_concat(distinct Sno) |
+-----------+----------------------------+
| 201215121 | 201215121 |
| 201215122 | 201215122 |
+-----------+----------------------------+
2 rows in set (0.00 sec)
官方文档关于group_concat介绍,可以使用distinct,desc,order by,asc,separator分割符
关于group_concat_max_len部分介绍,group_concat_max_len的默认值是1024Bit,可以设置的更大,但是最大值也受max_allowed_packet的影响
语法:
SET [GLOBAL | SESSION] group_concat_max_len = val;
mysql8.0可以直接持久化参数
mysql> show variables like '%group_concat%';
+----------------------+-------+
| Variable_name | Value |
+----------------------+-------+
| group_concat_max_len | 1024 |
+----------------------+-------+
1 row in set (0.00 sec) mysql>
mysql> select @@version;
+-----------+
| @@version |
+-----------+
| 8.0.29 |
+-----------+
1 row in set (0.00 sec) mysql> set persist group_concat_max_len=204800;
Query OK, 0 rows affected (0.00 sec)
group_concat_max_len设置过小致group_concat()排列不全的更多相关文章
- mysql max_allowed_packet 设置过小导致记录写入失败
mysql根据配置文件会限制server接受的数据包大小. 有时候大的插入和更新会受max_allowed_packet 参数限制,导致写入或者更新失败. 查看目前配置 show VARIABLES ...
- 还原MySql数据库失败:max_allowed_packet 设置过小导致记录写入失败
MySQL根据配置文件会限制Server接受的数据包大小. 有时候大的插入和更新会受 max_allowed_packet 参数限制,导致写入或者更新失败. 查看目前配置 show VARIABLES ...
- mysql导入数据失败:mysql max_allowed_packet 设置过小
mysql根据配置文件会限制server接受的数据包大小. 有时候大的插入和更新会受max_allowed_packet 参数限制,导致写入或者更新失败. 查看目前配置 show VARIABLES ...
- UIButton 设置图片文字垂直居中排列
#pragma mark 按钮图片文字垂直居中排列 -(void)setButtonContentCenter:(UIButton *)button { CGSize imgViewSize,titl ...
- TableCache设置过小造成MyISAM频繁损坏 与 把table_cache适当调小mysql能更快地工作
来源: 前些天说了一下如何修复损坏的MyISAM表,可惜只会修复并不能脱离被动的境地,只有查明了故障原因才会一劳永逸. 如果数据库服务非正常关闭(比如说进程被杀,服务器断电等等),并且此时恰好正在更新 ...
- iOS UIButton 设置图片文字垂直排列
后面经过测试,如果button的文字长度变更,会导致图片位置变化,经过多次修改UIEdgeInsets的值也没有达到期望效果,最终采用集成UIButton类,重写layoutSubviews函数实现, ...
- mybatis设置callSettersOnNulls解决返回字段不全的问题
Spring+MyBatis开发过程中,在xxMapper.xml配置文件进行select查询时resultType="map",如果要查询的字段是空值,在返回的map中会出现找不 ...
- MySQL中函数CONCAT及GROUP_CONCAT
一.CONCAT()函数CONCAT()函数用于将多个字符串连接成一个字符串.使用数据表Info作为示例,其中SELECT id,name FROM info LIMIT 1;的返回结果为+----+ ...
- Mysql中concat()、concat_ws()和 group_concat()的用法
一.CONCAT()函数CONCAT()函数用于将多个字符串连接成一个字符串.使用数据表Info作为示例,其中SELECT id,name FROM info LIMIT 1;的返回结果为+----+ ...
- [转]MySQL中函数CONCAT及GROUP_CONCAT
一.CONCAT()函数 CONCAT()函数用于将多个字符串连接成一个字符串. 使用数据表Info作为示例,其中SELECT id,name FROM info LIMIT 1;的返回结果为 +-- ...
随机推荐
- WEB应用中配置和使用springIOC容器是成功的
Sring web应用学习(1)https://www.cnblogs.com/xiximayou/p/12172667.html
- asp.net页面button按钮防止重复提交的方法
网上找了一些实现方案都不行,就自己写了个用,还行. 先放javascript代码: <script type="text/javascript"> var clicks ...
- conceive of NIO
设想需要传递数据的两端 输入端与接收端 1.字符存储格式不同,需unicode 2.保存格式不通,需格式化 传输数据时 1.需要介质(通道) 2.需要对数据进行输入端接收端都能识别的格式. 3.需要将 ...
- mongoBD增删改查
查询方法一: db.ResDevices.find({"RegInfo.DeviceID": "d064b09ed28b2e988e4dc83adfb4c1"} ...
- ggplot axis text 拐弯
scale_y_discrete(position = "left",labels=function(x) str_wrap(x, width=48)) +
- EF 操作实例
一.Linq语法 List操作 1.1 有参 public List<GoodsInfo> ShowInfo(string GName,int?Gid) { //true ...
- 9.Java的LinkedList/Deque相关方法
Java的LinkedList/Deque中add/offer/push,remove/pop/poll的区别 它们来自不同的接口 add/remove源自集合,所以添加到队尾,从队头删除: offe ...
- 排序方法-c语言
在接触过得排序算法中中,较为常见的有冒泡排序.选择排序.归并排序.快速排序法,他们的区别在于稳定性.时间复杂度.空间复杂度等: 现简单复习一下冒泡排序: 思路非常简单,逐个比较相邻的两个元素,前一个元 ...
- BeanFactory与FactoryBean区别
1. BeanFactory BeanFactory,以Factory结尾,表示它是一个工厂类(接口),用于管理Bean的一个工厂.在Spring中,BeanFactory是IOC容器的核心接口,也是 ...
- MyCat中间件的坑
首先说一下为什么选择MyCat,mysql分表分库的工具还有sharding-jdbc,是jar包的形式集成到项目的,可以相对灵活的配置自定义分片策略(PS:其实大部分业务场景是分片策略越简单越好啊, ...