• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > MySQL中group_concat函数深入理解

MySQL中group_concat函数深入理解

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了mysql group concat,mysql中group concat,mysql concat函数,mysql中concat函数,mysql 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 | 10|
|1 | 20|
|1 | 20|
|2 | 20|
|3 | 200 |
|3 | 500 |
+------+------+
6 rows in set (0.00 sec)
以id分组,把name字段的值打印在一行,逗号分隔(默认)
mysql> select id,group_concat(name) from aa group by id;
+------+--------------------+
| id| group_concat(name) |
+------+--------------------+
|1 | 10,20,20|
|2 | 20 |
|3 | 200,500|
+------+--------------------+
3 rows in set (0.00 sec)
以id分组,把name字段的值打印在一行,分号分隔
mysql> select id,group_concat(name separator ';') from aa group by id;
+------+----------------------------------+
| id| group_concat(name separator ';') |
+------+----------------------------------+
|1 | 10;20;20 |
|2 | 20|
|3 | 200;500 |
+------+----------------------------------+
3 rows in set (0.00 sec)
以id分组,把去冗余的name字段的值打印在一行,
逗号分隔
mysql> select id,group_concat(distinct name) from aa group by id;
+------+-----------------------------+
| id| group_concat(distinct name) |
+------+-----------------------------+
|1 | 10,20|
|2 | 20 |
|3 | 200,500 |
+------+-----------------------------+
3 rows in set (0.00 sec)
以id分组,把name字段的值打印在一行,逗号分隔,以name排倒序
mysql> select id,group_concat(name order by name desc) from aa group by id;
+------+---------------------------------------+
| id| group_concat(name order by name desc) |
+------+---------------------------------------+
|1 | 20,20,10 |
|2 | 20|
|3 | 500,200|
+------+---------------------------------------+
3 rows in set (0.00 sec)
使用group_concat_max_len系统变量,你可以设置允许的最大长度。 程序中进行这项操作的语法如下,其中 val 是一个无符号整数:
SET [SESSION | GLOBAL] group_concat_max_len = val;
若已经设置了最大长度, 则结果被截至这个最大长度。
将环境变量group_concat_max_len 增大。默认是1024.我就设置了session级的环境变量将其变为2048(不够用再加大)。解决该问题 </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • MySQL中group_concat函数深入理解
  • mysql分组取每组前几条记录(排名) 附group by与order by的研究
  • mysql筛选GROUP BY多个字段组合时的用法分享
  • MySQL中的CONCAT函数使用教程
  • MySql采用GROUP_CONCAT合并多条数据显示的方法
  • mysql利用group_concat()合并多行数据到一行
  • mysql的group_concat函数使用示例
  • 关于MYSQL中每个用户取1条记录的三种写法(group by xxx)

相关文章

  • 2018-12-05MySQL Query Rewrite Plugin使用
  • 2018-12-05如何远程登录VPS服务器
  • 2018-12-05关于MySQL触发器的问题
  • 2018-12-05详细介绍Mysql数据库表定期备份实现的示例代码
  • 2018-12-05SQLserver2008使用表达式递归查询
  • 2018-12-05MySQL高级四——自定义条件和处理
  • 2018-12-05Linux下mysql源码安装笔记_MySQL
  • 2018-12-05MySQL索引优化和in or替换为union all
  • 2017-05-11MySQL循环语句之while循环测试
  • 2018-12-05当恢复sqlserver bak文件时,原始的用户无法删除的解决方法

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • MySQL 获得当前日期时间的函数小结
    • 批处理 动态sql
    • Mysql存储引擎InnoDB和Myisam的六大区别
    • MySQL笔记之触发器的应用
    • MySQL优化之-索引具体代码分析
    • INSERT INTO .. ON DUPLICATE KEY更新多行记录
    • MySQL 4.0 升级到mysql 5.0的方法
    • oracle 常见等待事件及处理方法
    • 提升SQL Server速度 整理索引碎片
    • 同时安装vs2005团队开发版和sql 2005企业版的方法(downmoon原作)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有