`

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)
分享到:
评论

相关推荐

    SqlServer GroupConcat

    在SQL Server中,`GroupConcat`函数是一种非常实用的功能,特别是在处理聚合数据并希望返回一组字符串,而不是单个值时。然而,与MySQL等其他数据库系统不同,SQL Server原生并不支持`GroupConcat`。因此,为了在SQL...

    解决Oracle没有WM_CONCAT函数.zip

    这可能是因为他们正在处理需要聚合多个字符串字段的查询,例如汇总表中某个列的所有值。 描述中提到的"owmctab.plb、owmaggrs.plb、owmaggrb.plb"是PL/SQL源代码包,这些文件通常包含了实现WM_CONCAT功能的PL/SQL...

    MySQL中group_concat函数深入理解

    MySQL中的`GROUP_CONCAT`函数是一个非常实用的聚合函数,它允许你在分组查询中将一组行的某个列值合并成一个字符串,每个值之间由指定的分隔符隔开。这个函数对于数据汇总和报告生成特别有用,因为它可以把多行数据...

    MySQL GROUP_CONCAT限制解决方案

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

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

    在MySQL中,`GROUP_CONCAT` 是一个非常实用的聚合函数,它允许你在分组查询时将同一组内的多个值合并成一个字符串。这个函数在处理列表或者集合数据时非常有用,尤其在需要将关联表中的多行数据整合成一行展示时。...

    mysql的group_concat函数使用示例

    MySQL中的`GROUP_CONCAT`函数是一个非常实用的聚合函数,用于在分组查询时将同一组内多个相同字段的值合并成一个字符串,各值之间用指定的分隔符隔开。这个函数对于数据报告、汇总和数据分析非常有用。下面我们将...

    DB2函数名称及举例

    在数据库管理与查询过程中,DB2作为一款功能强大的关系型数据库管理系统,提供了丰富的内置函数来帮助用户高效地处理数据。这些函数涵盖了数学运算、字符串操作、日期时间处理等多个方面,为用户提供了极大的便利。 ...

    浅谈MySQL中group_concat()函数的排序方法

    在MySQL数据库中,`GROUP_CONCAT()` 函数是一个非常实用的聚合函数,它允许我们将同一组中的多个值合并成一个字符串,用特定的分隔符连接。然而,有时候我们需要对这些值进行排序后再进行合并,这正是 `GROUP_CONCAT...

    mysql group_concat()函数用法总结

    MySQL中的`GROUP_CONCAT()`函数是一个非常实用的聚合函数,用于在分组查询中将同一组内多个记录的某个字段值合并成一个字符串,各值之间由用户指定的分隔符(默认为逗号)隔开。这个函数在处理报表和数据分析时特别...

    mysql group_concat 实现把分组字段写成一行的方法示例

    在MySQL中,`GROUP_CONCAT` 是一个非常实用的聚合函数,它允许你在进行分组查询时,将相同分组内的多个字段值合并为一个单一的字符串,通常用于处理那些需要将多行数据整合到一行的情况。这个函数特别适用于那些需要...

    mysql拼接字符串函数

    可以看到,GROUP_CONCAT 函数将每个 age 值对应的 name 字段聚合成一个字符串。 这三个函数都可以用来拼接字符串,但是它们的使用场景不同。CONCAT 和 CONCAT_WS 函数通常用于将多个字符串连接起来,而 GROUP_...

    group_concatenate与locate的联合用法示例

    首先,`GROUP_CONCAT` 是MySQL中一个非常有用的聚合函数,它允许你在分组查询中将同一组内的多个值合并成一个以特定分隔符分隔的字符串。例如,如果你有一个`orders`表,其中包含`customer_id`和`product_name`字段...

    wmsys.wm_concat详细示例.txt

    此函数常用于数据聚合场景,尤其是当需要在一个查询中汇总特定分组下的所有值时。根据给定文件的信息,我们可以深入探讨`wmsys.wm_concat`的使用方法及其在不同SQL语句中的应用。 ### 基础用法 `wmsys.wm_concat`...

    详解MySQL中concat函数的用法(连接字符串)

    另外,MySQL还提供了一个`GROUP_CONCAT`函数,它用于在分组查询中将相同组内的多行数据合并为一个字符串,通常用于聚合操作。`GROUP_CONCAT`的语法如下: ```sql GROUP_CONCAT([DISTINCT] 字段 [ORDER BY 排序字段]...

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

    在MySQL 5.7中,`GROUP_CONCAT`函数用于将分组后的多个行合并成一个字符串,通常在聚合查询中使用。然而,当使用此函数时,可能会遇到数据被截断的问题,尤其是在处理较长的字符串时。这个问题源于MySQL的一个系统...

    Mysql的GROUP_CONCAT()函数使用方法

    在MySQL中,`GROUP_CONCAT()`是一个非常实用且强大的聚合函数,主要用于将一组值连接成一个字符串。它常用于查询中,特别是需要将多个行的数据合并到一行时。本文将详细介绍`GROUP_CONCAT()`函数的语法、参数及其在...

    greenplum常用函数-基础

    在字符串处理方面,Greenplum提供了一系列内置的字符串函数,如CONCAT()用于连接字符串,SUBSTR()用于截取子串,以及TRIM()用于去除字符串两端的特定字符等。字符串函数在进行文本数据处理时非常有用,可以帮助我们...

    MySQL 连接字符串函数 CONCAT() CONCAT-WS() GROUP-CONCAT()

    `GROUP_CONCAT()` 是一个聚合函数,用于将同一组中的多个行合并为单行,每个值之间用指定的分隔符隔开。它特别适用于报表和数据分析场景。基本语法如下: ```sql GROUP_CONCAT([DISTINCT] expr [,expr ...] ...

Global site tag (gtag.js) - Google Analytics