`

Mysql合并查询结果

阅读更多
本文通过实例介绍了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)

在工作中在库总导入好友ID的时候遇见的问题,在uchome_friend中的好友都是一一对应的存在数据库中,而我的新库中好友的ID是使用逗号分割存到一个字段中的,现在我要将uchome_friend的好友导入到新的库中,首先肯定是要分组的,然后按照UID分组之后该如果将FUID连接成1,2,3这样的形式呢,我知道在MYSQL中是有个concat()函数来连接字符的,但是这个函数只能处理这样的类型,concat(fuid,'_sky.jpg');如果要连接所有的FUID必须这样concat(fuid,fuid)而且下一个fuid必须是uchome_friend中的下一个ID,但是这里并不能做到,后来查资料发现了group_concat()这个函数,很好,很强大!呵呵

引自:http://hi.baidu.com/caixudong/blog/item/6c47de59c33c28222834f0ed.html
分享到:
评论

相关推荐

    MySQL查询把多列返回结果集拼装成一个字段

    mysql中有种可以通过join相关操作进行表与表之间的方式查询不同结果集,但是在一对多的情况下,关键查询的结果是多条的.例如:班级和学习的关系,我想很直观的看到班级和学生的情况,列表显示出班级的信息和班级的男生...

    Mysql合并表Merge引擎

    当从合并表中执行查询,从多个表返回的结果就像从一个表返回的结果一样。 2.要创建合并表的前提是每一个合并的表必须有同样的表定义(表结构、索引),并且子表的存储引擎必须是Myisam。 3.合并表的创建方法

    计算机病毒与防护:MYSQL联合查询上.ppt

    当UNION之前的select语句结果集为空时,查询结果将由UNION后的SELECT语句控制。当WEB应用存在SQL注入时,巧妙使用union查询可以进行数据的盗取。 联合查询注入原理-SQL的union查询 联合查询注入原理-SQL的union查询 ...

    MySql基本查询、连接查询、子查询、正则表达查询讲解

    6、合并查询结果 7、为表和字段取别名 8、使用正则表达式查询 什么是查询? 怎么查的? 数据的准备如下: [sql] view plain copy create table STUDENT( STU_ID int primary KEY, STU_NAME char(10) not null, ...

    mysql如何实现多行查询结果合并成一行

    利用函数:group_concat(),实现一个ID对应多个名称时,原本为多行数据,把名称合并成一行

    mysql如何将多行数据合并成一行

    您可能感兴趣的文章:MySql采用GROUP_CONCAT合并多条数据显示的方法mysql利用group_concat()合并多行数据到一行mysql如何实现多行查询结果合并成一行关于mysql合并表的详细介绍mysql中合并两个字段的方法分享mysql...

    MySQL Union合并查询数据及表别名、字段别名用法分析

    本文实例讲述了MySQL Union合并查询数据及表别名、字段别名用法。分享给大家供大家参考,具体如下: union关键字 SELECT s_id, f_name, f_price FROM fruits WHERE f_price < 9.0 UNION ALL SELECT s_id, f_name...

    MySql 5.1 参考手册.chm

    5.13. MySQL查询高速缓冲 5.13.1. 查询高速缓冲如何工作 5.13.2. 查询高速缓冲SELECT选项 5.13.3. 查询高速缓冲配置 5.13.4. 查询高速缓冲状态和维护 6. MySQL中的复制 6.1. 复制介绍 6.2. 复制实施概述 6.3. 复制...

    python 连接mysql批量sql查询并导出成excel.zip

    将配置的所有sql 循环在每一个配置号的mysql连接-库中执行,并分别为每一个连接生成一张标,一个查询sql的结果为1个sheet页 用法: 1. 配置多个Mysql连接、库、文件名 2. 配置SavePath存储路径 3. 配置sql, 格式为...

    高性能MySQL(第3版).part2

    3.3剖析MySQL查询77 3.3.1剖析服务器负载77 3.3.2剖析单条查询81 3.3.3使用性能剖析87 3.4诊断间歇性问题88 3.4.1单条查询问题还是服务器问题89 3.4.2捕获诊断数据93 3.4.3一个诊断案例98 3.5其他剖析工具...

    Mysql、oracle、Sybase数据库两列合并成一列的sql语句

    Mysql、oracle、Sybase数据库两列合并成一列的sql语句

    MySQL 5.1参考手册

    5.13. MySQL查询高速缓冲 5.13.1. 查询高速缓冲如何工作 5.13.2. 查询高速缓冲SELECT选项 5.13.3. 查询高速缓冲配置 5.13.4. 查询高速缓冲状态和维护 6. MySQL中的复制 6.1. 复制介绍 6.2. 复制实施概述 6.3....

    mysql-bulk-insert:测试mysql合并插入的吞吐

    mysql合并插入性能测试测试数据Mysql合并插入可以带来*10的吞吐提升,而事务提交没有明显的收益。下面是在一台普通MYSQL机型下的TPS实测数据:[root@10-9-136-206 mysql-bulk-insert]# ...

    MySql转换成Oracle工具

    可以将数据合并到已经存在的ORACLE表中 非常容易使用的向导模式 支持所有版本的Mysql字符集 对超大数据表的导出进行了优化处理 Convert Mysql to Oracle 功能限制 不能转换MYSQL的存储过程 Convert Mysql ...

    nodejs将mysql数据库中的数据导出成excel表格文件

    使用nodejs将mysql数据库中的数据导出成excel格式,并附带mysql连接池及mysql模块的封装,以及三百万的mysql测试数据,内容详细。

    MySQL 5.1中文手冊

    5.13. MySQL查询高速缓冲 5.13.1. 查询高速缓冲如何工作 5.13.2. 查询高速缓冲SELECT选项 5.13.3. 查询高速缓冲配置 5.13.4. 查询高速缓冲状态和维护 6. MySQL中的复制 6.1. 复制介绍 6.2. 复制实施概述 6.3. 复制...

    从 Oracle 合并到 MySQL - NPR 实例分析

    从 Oracle 合并到 MySQL - NPR 实例分析

    SpringBoot集成MySQL和Mybatis

    SpringBoot集成MySQL和Mybatis,包括sql语句和简单的案例

Global site tag (gtag.js) - Google Analytics