`

SQL中group_concat函数,用符号连接查询分组里字段值

 
阅读更多

MySQL中group_concat函数
完整的语法如下:
group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])

基本查询

  1. mysql> select * from aa;
  2. +------+------+
  3. | id| name |
  4. +------+------+
  5. |1 | 10|
  6. |1 | 20|
  7. |1 | 20|
  8. |2 | 20|
  9. |3 | 200 |
  10. |3 | 500 |
  11. +------+------+
  12. 6 rowsinset (0.00 sec)
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字段的值打印在一行,逗号分隔(默认)

  1. mysql> select id,group_concat(name) from aa groupby id;
  2. +------+--------------------+
  3. | id| group_concat(name) |
  4. +------+--------------------+
  5. |1 | 10,20,20|
  6. |2 | 20 |
  7. |3 | 200,500|
  8. +------+--------------------+
  9. 3 rowsinset (0.00 sec)
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字段的值打印在一行,分号分隔

  1. mysql> select id,group_concat(name separator ';') from aa groupby id;
  2. +------+----------------------------------+
  3. | id| group_concat(name separator ';') |
  4. +------+----------------------------------+
  5. |1 | 10;20;20 |
  6. |2 | 20|
  7. |3 | 200;500 |
  8. +------+----------------------------------+
  9. 3 rowsinset (0.00 sec)
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字段的值打印在一行,

  1. mysql> select id,group_concat(distinctname) from aa groupby id;
  2. +------+-----------------------------+
  3. | id| group_concat(distinctname) |
  4. +------+-----------------------------+
  5. |1 | 10,20|
  6. |2 | 20 |
  7. |3 | 200,500 |
  8. +------+-----------------------------+
  9. 3 rowsinset (0.00 sec)
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排倒序

  1. mysql> select id,group_concat(nameorderbynamedesc) from aa groupby id;
  2. +------+---------------------------------------+
  3. | id| group_concat(nameorderbynamedesc) |
  4. +------+---------------------------------------+
  5. |1 | 20,20,10 |
  6. |2 | 20|
  7. |3 | 500,200|
  8. +------+---------------------------------------+
  9. 3 rowsinset (0.00 sec)
分享到:
评论

相关推荐

    MySQL GROUP_CONCAT限制解决方案

     GROUP_CONCAT函数可以拼接某个字段值成字符串,默认的分隔符是 逗号,即”,” ,  如果需要自定义分隔符可以使用 SEPARATOR  如: SELECT GROUP_CONCAT(name SEPARATOR '_') FROM user 限制:  GROUP_CONCAT...

    mysql的group_concat函数使用示例

    MySQL中group_concat函数,完整的语法如下: 代码如下:group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator ‘分隔符’]) 基本查询 代码如下:select * from aa; 代码如下:+——+——+|...

    MySQL中group_concat函数深入理解

    MySQL中group_concat函数 完整的语法如下: group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator ‘分隔符’]) 基本查询 mysql> select * from aa; +——+——+ | id| name | +——+...

    mysql中GROUP_CONCAT的使用方法实例分析

    本文实例讲述了mysql中GROUP_CONCAT的使用方法。分享给大家供大家参考,具体如下: 现在有三个表,结构如下: cate表: CREATE TABLE `cate` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id', `...

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

    select group_concat(list_name) from aa_list 您可能感兴趣的文章:MySql采用GROUP_CONCAT合并多条数据显示...concat()函数用法总结MySQL统计函数GROUP_CONCAT使用陷阱分析mysql的group_concat函数使用示例MySQL中gro

    MySQL基于group_concat()函数合并多行数据

     group_concat(),手册上说明:该函数返回带有来自一个组的连接的非NULL值的字符串结果。  通俗点理解,其实是这样的:group_concat()会计算哪些行属于同一组,将属于同一组的列合并显示出来。要返回哪些列,由...

    sybase数据库多行合并为一行多列.sql

    sybase数据库是不支持group_concat函数的,此文件为sybase存储过程样例,可以将多行信息按标识合并为一行多列。

    MySQL拼接字符串函数GROUP_CONCAT详解

    上一篇文章 跨表更新,看到自己写的SQL像个憨憨写了关于跨表个更新的内容。一年过的很快,文中后来的两位员工 ...在 Mysql 官方文档 中,该函数被放在聚合函数章节,如果你要按照指定字段分组拼接,就要配合关键字 GRO

    mysql利用group_concat()合并多行数据到一行

    同时获取存储在b表中的name信息,按照常规查询,b表中有多少记录,则会显示多少行,如果需要只显示a表记录行数,则需要把查询name字段得到的多行记录进行合并,可以通过程序实现,但也可直接在sql层完成。...

    Mysql5.7中使用group concat函数数据被截断的问题完美解决方法

    前天在生产环境中遇到一个问题:使用 GROUP_CONCAT 函数select出来的数据被截断了,最长长度不超过1024字节,开始还以为是navicat客户端自身对字段长度做了限制的问题。后面故意重新INSERT了一个字段长度超1024字节...

    数据库MySQL基础知识点3

     group by + group_concat(字段):分组+内容 连接为一个字符串  group by + having:【注】having只能用于group by。而where是用来过滤表数据的  group by + with rollup:分组+小计 限制记录limit:限制...

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

    having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件显示特定的组,也可以使用多个分组标准进行分组。 having 子句被限制子已经在SELECT语句中定义的列和聚合...

    详解MySQL中的分组查询与连接查询语句

    分组查询 group by group by 属性名 [having 条件表达式][ with rollup] “属性名 ”指按照该字段值进行分组;“having 条件表达式 ”用来限制分组后的显示,满足条件的结果将被显示;with rollup 将会在所有记录的...

    MYSQL常用命令大全

    在进行开发和实际应用中,用户不应该只用root用户进行连接数据库,虽然使用root用户进行测试时很方便,但会给系统带来重大安全隐患,也不利于管理技术的提高。我们给一个应用中使用的用户赋予最恰当的数据库权限。如...

    MYSQL,SQLSERVER,ORACLE常用的函数

    SQL中的单记录函数 1.ASCII 返回与指定的字符对应的十进制数; SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual; A A ZERO SPACE --------- --------- --------- --------- ...

    2009达内SQL学习笔记

    ORDER BY子句中使用的列将是为显示所选择的列,但是实际上并不一定要这样,用非检索的列排序数据是完全合法的。 为了按多个列排序,列名之间用逗号分开。 2、支持按相对列位置进行排序。 输入 SELECT prod_id,...

    SQL培训第一期

    1 SQL基础 1.1 基本概念 结构化查询语言(Structured Query ...select后面出现的列,如果没有使用集合函数,必须出现在group by 中。 select sno,sname,sum(grade) from student group by sno,sname; //合法写法 select...

    Mysql 实现字段拼接的三个函数

    将多个字段使用空字符串拼接为一个字段 mysql> select concat(id, type) from mm_content limit 10; +------------------+ | concat(id, type) | +------------------+ | 100818image | | 100824image |

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    第三章 Sql查询与函数 一、 SQL概述 SQL(Structured Query Language)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。同时也是数据库脚本文件的扩展名。  SQL...

    SQL21日自学通

    在子查询中使用汇总函数140 子查询的嵌套141 相关子查询144 EXISTS ANY ALL 的使用147 总结151 问与答151 校练场152 练习153 第一周回顾154 预览154 第二周概貌155 这一周都讲些什么155 第八天操作数据156 目标...

Global site tag (gtag.js) - Google Analytics