当前位置: 首页 > news >正文

MYSQL函数group_concat的使用

今天对一批数据要迁移转换,查了下,有group_concat这个函数简单实现字段的列转行设置,过程记录如下 

一.测试数据准备
mysql> use test;
Database changed
mysql> select * from t_kenyon;
+------+
| id   |
+------+
|    1 |
|  123 |
|  789 |
|  345 |
|   78 |
+------+
5 rows in set (0.00 sec)
二.使用经过  
1.以默认的逗号作为分隔符
mysql> select group_concat(id) from t_kenyon;
+------------------+
| group_concat(id) |
+------------------+
| 1,123,789,345,78 |
+------------------+
1 row in set (0.00 sec)
2.对ID值进行排序后行转列
mysql> select group_concat(id order by id) from t_kenyon;
+------------------------------+
| group_concat(id order by id) |
+------------------------------+
| 1,78,123,345,789             |
+------------------------------+
1 row in set (0.00 sec)
3.使用其他分割符,如*和;等
mysql> select group_concat(id separator '*') from t_kenyon;
+--------------------------------+
| group_concat(id separator '*') |
+--------------------------------+
| 1*123*789*345*78               |
+--------------------------------+
1 row in set (0.00 sec)
4.分隔符与排序结合起来用
mysql> select group_concat(id order by id separator '_') from t_kenyon;
+--------------------------------------------+
| group_concat(id order by id separator '_') |
+--------------------------------------------+
| 1_78_123_345_789                           |
+--------------------------------------------+
1 row in set (0.00 sec)
5.对相同的值分组
mysql> insert into t_kenyon values (78);
Query OK, 1 row affected (0.00 sec)mysql> select group_concat(id) from t_kenyon group by id;
+------------------+
| group_concat(id) |
+------------------+
| 1                |
| 78,78            |
| 123              |
| 345              |
| 789              |
+------------------+
5 rows in set (0.00 sec)
三.参数设置与限制说明 
1.查看服务器中设置
mysql> show variables like '%group_concat%';
+----------------------+-------+
| Variable_name        | Value |
+----------------------+-------+
| group_concat_max_len | 1024  |
+----------------------+-------+
1 row in set (0.00 sec)
以上设置的值说明当前是默认长度1KB 

 2.改变参数值 
方法一:修改配置文件中参数,新增 group_concat_max_len = 10240 
方法二:在会话中实现,全局或当前session中 
SET GLOBAL group_concat_max_len=10240; 
SET SESSION group_concat_max_len=10240;

http://www.taodudu.cc/news/show-2639154.html

相关文章:

  • 【physx/wasm】在physx中添加自定义接口并重新编译wasm
  • excel---常用操作
  • Lora训练Windows[笔记]
  • linux基础指令讲解(ls、pwd、cd、touch、mkdir)
  • InnoDB 事务处理机制
  • 启明云端ESP32 C3 模组WT32C3通过 MQTT 连接 AWS
  • 在win7系统下使用TortoiseGit(乌龟git)简单操作Git@OSC
  • 在CentOS上MySQL数据库服务器配置方法
  • Linux PHP开发环境:CentOS下配置LAMP开发环境
  • 外网访问 虚拟机下的web服务器 设置主机端口与虚拟机ip和端口的映射
  • php程序员应具备的7种能力
  • 门门通还是精通一门(程序员)
  • 神探狄仁杰是一个Debug高手
  • 亲情友情爱情:《悲惨世界》第四部《卜吕梅街的柔情和圣德尼街的史诗》/人性:《悲惨世界》第五部《冉阿让》摘录...
  • html5新年网页做给父母的,2020给父母的新年祝福语
  • Gateway 出现Can not connect to tcp://127.0.0.1: Connection refused
  • 关于 该设备或资源(127.0.0.1)未设置为接受端口 的解决办法
  • mysql多进程模块型_mysql mysqld_multi 单机多进程
  • mysql单数据库多硬盘配置_MySQL 使用mysqld_multi部署单机多实例详细过程
  • mysql mysqld multi_MySQL 使用mysqld_multi部署单机多实例详细过程 (转)
  • 数据结构(Java)-排序算法-插入排序
  • Presenting view controllers on detached view controllers is discouraged
  • The remote device or resource won't accept the connect
  • [java 手把手教程][第二季]java 后端博客系统文章系统——No7
  • 数据库学习纪要(十二):SQL Sever介绍-4
  • MapReduce之幺半群
  • 【后端】--process information unavailable解决办法[详细版]
  • ISCC2017 Misc write up附件题目文件
  • [割点问题]HOJ 12307 Disconnected Pair
  • 计算几何专项:UVa 12307
  • asp dotnet core 从零开始创建一个 WebApi 服务
  • UVa 12307 Smallest Enclosing Rectangle(旋转卡壳+最小覆盖矩形)
  • uva 12307(点集的外接矩形)
  • UVA 12307 Smallest Enclosing Rectangle(旋转卡壳)
  • uva 12307 - Smallest Enclosing Rectangle(旋转卡壳)
  • UVA 12307 Smallest Enclosing Rectangle