当前位置:  数据库>mysql

MySQL中group_concat函数深入理解

    来源: 互联网  发布时间:2014-10-04

    本文导语:  本文通过实例介绍了MySQL中的group_concat函数的使用方法,比如select group_concat(name) 。 MySQL中group_concat函数 完整的语法如下: group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符']) 基本查询 mysql> select * from ...

本文通过实例介绍了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(不够用再加大)。解决该问题

    
 
 

您可能感兴趣的文章:

  • mysql的group_concat函数使用示例
  • mysql利用group_concat()合并多行数据到一行
  • mysql中字符串和时间互相转换的方法(自动转换及DATE_FORMAT函数)
  • mysql阻塞在了mysql_real_connect函数调用处
  • 浅谈SQLServer的ISNULL函数与Mysql的IFNULL函数用法详解
  • 求c++ 连接mysql函数?
  • 我想知道几个关于MYSQL接口的C函数
  • MySQL和PHP中substr函数用法
  • MySQL实现类似Oracle中的decode()函数的功能
  • MySQL C API中有没有事务处理的函数啊?
  • mysql_store_result()函数卡住不返回
  • 深入mysql YEAR() MONTH() DAYOFMONTH()日期函数的详解
  • MySQL中的LOCATE和POSITION函数使用方法
  • mysql计算时间差函数
  • mysql求和函数使用示例
  • php mysql转义特殊字符的函数有哪些?
  • mysql截取函数常用方法使用说明
  • mysql建立自定义函数的问题
  • php mysql转义特殊字符函数
  • 浅析MySQL之字符串函数
  • Mysql 数字类型转换函数
  • mysql 查询数据库中的存储过程与函数的语句
  • Mysql存储过程和函数区别介绍
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 深入mysql并发插入优化详解
  • 深入解析Linux下MySQL数据库的备份与还原
  • 深入解析mysql中order by与group by的顺序问题
  • mysql中limit的用法深入分析
  • 深入解析mysql.sock不见的问题
  • 深入MYSQL字符数字转换的详解
  • 基于Mysql存储引擎的深入分析
  • 为什么用linux安装盘安装了mysql后,启动mysql,提示找不到mysql.sock文件? iis7站长之家
  • 深入探讨:MySQL数据库MyISAM与InnoDB存储引擎的比较
  • 深入mysql主从复制延迟问题的详解
  • 深入理解MySQL的数据库引擎的类型
  • 深入mysql基础知识的详解
  • 基于Mysql的IP处理函数inet_aton()与inet_ntoa()的深入分析
  • 深入了解mysql的4种常用、重要的数据类型
  • mysql 事务处理及表锁定深入简析
  • mysql整数数据类型深入解析
  • 深入理解mysql SET NAMES和mysql(i)_set_charset的区别
  • 深入mysql慢查询设置的详解
  • 深入Mysql字符集设置 图文版
  • 深入mysql创建自定义函数与存储过程的详解
  • mysql中如何查看最大连接数(max_connections)和修改最大连接数
  • 在 linux下输入"mysql"命令,进入mysql命令行,但出现“Can't connetc to local MySQL server thuough socket /var/lib/mysql/mysql.sock
  • Mysql查询错误:ERROR:no query specified原因
  • MySQL 重装MySQL后, mysql服务无法启动
  • php安装完成后如何添加mysql扩展
  • 为什么用linux安装盘安装了mysql后,启动mysql,提示找不到mysql.sock文件?
  • mysql中查询当前正在运行的SQL语句并找出mysql中运行慢的sql语句
  • 請教,在redhat linux7.2+mysql 中,系統提示mysql已啟動,網頁卻不能訪問mysql?
  • Myeclipse中自带Tomcat的JDBC连接池配置(mysql和mssql)
  • 求解释: useradd -g mysql mysql -d /home/mysql -s /sbin/nologin
  • MySQL Workbench的下载安装与使用教程


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3