问题描述: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()排列不全的更多相关文章

  1. mysql max_allowed_packet 设置过小导致记录写入失败

    mysql根据配置文件会限制server接受的数据包大小. 有时候大的插入和更新会受max_allowed_packet 参数限制,导致写入或者更新失败. 查看目前配置 show VARIABLES ...

  2. 还原MySql数据库失败:max_allowed_packet 设置过小导致记录写入失败

    MySQL根据配置文件会限制Server接受的数据包大小. 有时候大的插入和更新会受 max_allowed_packet 参数限制,导致写入或者更新失败. 查看目前配置 show VARIABLES ...

  3. mysql导入数据失败:mysql max_allowed_packet 设置过小

    mysql根据配置文件会限制server接受的数据包大小. 有时候大的插入和更新会受max_allowed_packet 参数限制,导致写入或者更新失败. 查看目前配置 show VARIABLES ...

  4. UIButton 设置图片文字垂直居中排列

    #pragma mark 按钮图片文字垂直居中排列 -(void)setButtonContentCenter:(UIButton *)button { CGSize imgViewSize,titl ...

  5. TableCache设置过小造成MyISAM频繁损坏 与 把table_cache适当调小mysql能更快地工作

    来源: 前些天说了一下如何修复损坏的MyISAM表,可惜只会修复并不能脱离被动的境地,只有查明了故障原因才会一劳永逸. 如果数据库服务非正常关闭(比如说进程被杀,服务器断电等等),并且此时恰好正在更新 ...

  6. iOS UIButton 设置图片文字垂直排列

    后面经过测试,如果button的文字长度变更,会导致图片位置变化,经过多次修改UIEdgeInsets的值也没有达到期望效果,最终采用集成UIButton类,重写layoutSubviews函数实现, ...

  7. mybatis设置callSettersOnNulls解决返回字段不全的问题

    Spring+MyBatis开发过程中,在xxMapper.xml配置文件进行select查询时resultType="map",如果要查询的字段是空值,在返回的map中会出现找不 ...

  8. MySQL中函数CONCAT及GROUP_CONCAT

    一.CONCAT()函数CONCAT()函数用于将多个字符串连接成一个字符串.使用数据表Info作为示例,其中SELECT id,name FROM info LIMIT 1;的返回结果为+----+ ...

  9. Mysql中concat()、concat_ws()和 group_concat()的用法

    一.CONCAT()函数CONCAT()函数用于将多个字符串连接成一个字符串.使用数据表Info作为示例,其中SELECT id,name FROM info LIMIT 1;的返回结果为+----+ ...

  10. [转]MySQL中函数CONCAT及GROUP_CONCAT

    一.CONCAT()函数 CONCAT()函数用于将多个字符串连接成一个字符串. 使用数据表Info作为示例,其中SELECT id,name FROM info LIMIT 1;的返回结果为 +-- ...

随机推荐

  1. WEB应用中配置和使用springIOC容器是成功的

    Sring web应用学习(1)https://www.cnblogs.com/xiximayou/p/12172667.html

  2. asp.net页面button按钮防止重复提交的方法

    网上找了一些实现方案都不行,就自己写了个用,还行. 先放javascript代码: <script type="text/javascript"> var clicks ...

  3. conceive of NIO

    设想需要传递数据的两端 输入端与接收端 1.字符存储格式不同,需unicode 2.保存格式不通,需格式化 传输数据时 1.需要介质(通道) 2.需要对数据进行输入端接收端都能识别的格式. 3.需要将 ...

  4. mongoBD增删改查

    查询方法一: db.ResDevices.find({"RegInfo.DeviceID": "d064b09ed28b2e988e4dc83adfb4c1"} ...

  5. ggplot axis text 拐弯

    scale_y_discrete(position = "left",labels=function(x) str_wrap(x, width=48)) +

  6. EF 操作实例

    一.Linq语法 List操作 1.1          有参 public List<GoodsInfo> ShowInfo(string GName,int?Gid) { //true ...

  7. 9.Java的LinkedList/Deque相关方法

    Java的LinkedList/Deque中add/offer/push,remove/pop/poll的区别 它们来自不同的接口 add/remove源自集合,所以添加到队尾,从队头删除: offe ...

  8. 排序方法-c语言

    在接触过得排序算法中中,较为常见的有冒泡排序.选择排序.归并排序.快速排序法,他们的区别在于稳定性.时间复杂度.空间复杂度等: 现简单复习一下冒泡排序: 思路非常简单,逐个比较相邻的两个元素,前一个元 ...

  9. BeanFactory与FactoryBean区别

    1. BeanFactory BeanFactory,以Factory结尾,表示它是一个工厂类(接口),用于管理Bean的一个工厂.在Spring中,BeanFactory是IOC容器的核心接口,也是 ...

  10. MyCat中间件的坑

    首先说一下为什么选择MyCat,mysql分表分库的工具还有sharding-jdbc,是jar包的形式集成到项目的,可以相对灵活的配置自定义分片策略(PS:其实大部分业务场景是分片策略越简单越好啊, ...