MySQL中group_concat函数
完整的语法如下:
group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])
1、基本查询
- select * from aa;
查询结果
+------+------+
| id| name |
+------+------+
|1 | 10|
|1 | 20|
|1 | 20|
|2 | 20|
|3 | 200 |
|3 | 500 |
+------+------+
2、使用group_concat
(1)以id分组,把name字段的值打印在一行,逗号分隔(默认)
- select id,group_concat(name) from aa group by id;
查询结果
+------+--------------------+
| id| group_concat(name) |
+------+--------------------+
|1 | 10,20,20|
|2 | 20 |
|3 | 200,500|
+------+--------------------+
(2)以id分组,把name字段的值打印在一行,分号分隔
- 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)以id分组,把去冗余的name字段的值打印在一行,逗号分隔
- select id,group_concat(distinct name) from aa group by id;
+------+-----------------------------+
| id| group_concat(distinct name) |
+------+-----------------------------+
|1 | 10,20|
|2 | 20 |
|3 | 200,500 |
+------+-----------------------------+
(4)以id分组,把name字段的值打印在一行,逗号分隔,以name排倒序
- 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|
+------+---------------------------------------+
来源: http://hchmsguo.iteye.com/blog/555543
相关推荐
### GROUP_CONCAT 函数详解 #### 一、概述 `GROUP_CONCAT` 是 MySQL 中一个非常实用的聚合函数,主要用于将来自同一分组的多个值连接成一个字符串。这一功能在许多场景下都非常有用,例如汇总数据、创建列表等。 ...
MySQL中的GROUP_CONCAT函数是一个非常实用的聚合函数,主要用于在分组查询中将同一组内的多个值合并为一个字符串,通常用于数据汇总和报告。它能够处理非NULL值,并且可以进行排序、去重和自定义分隔符,极大地提高...
### MySQL的GROUP_CONCAT()函数使用详解 在MySQL中,`GROUP_CONCAT()`是一个非常实用且强大的聚合函数,主要用于将一组值连接成一个字符串。它常用于查询中,特别是需要将多个行的数据合并到一行时。本文将详细介绍...
总结来说,MySQL中的`CONCAT`、`CONCAT_WS`和`GROUP_CONCAT`函数提供了强大的字符串处理能力,允许你灵活地连接和组合字符串,以满足不同的查询需求。在处理大量文本数据时,这些函数是数据库查询中不可或缺的一部分...
最后,关于可能感兴趣的相关文章,包括Oracle中多行记录合并、连接、聚合字符串的不同方法,以及如何在Oracle中实现类似功能的其他技术,如使用`GROUP_CONCAT`(这是MySQL中的一个函数,Oracle没有直接对应的内置...
《MySQL UDF库函数与JSON格式转换详解》 在MySQL数据库管理系统中,有时我们需要将关系型数据转换为JSON格式,以便于数据交换、存储或处理。`lib_mysqludf_json`是一个用户定义的函数(User Defined Function, UDF...
总结,`CONCAT`、`CONCAT_WS`和`GROUP_CONCAT`都是MySQL中处理字符串连接的重要函数,它们在不同的场景下提供了灵活的数据组合方式。理解并熟练使用这些函数,可以提升你在数据库操作中的效率,特别是在处理复杂的...
### MySQL字符串连接函数详解 在处理数据库中的字符串操作时,MySQL提供了多种强大的工具来帮助我们进行数据处理。本文主要介绍几种常用的字符串连接函数,包括`CONCAT()`、`CONCAT_WS()`以及`GROUP_CONCAT()`函数...
一、AVG AVG(col) 返回指定列的平均值 二、COUNT COUNT(col) 返回指定列中非NULL值...GROUP_CONCAT([DISTINCT] expr [,expr …] [ORDER BY {unsigned_integer | col_name | expr} [ASC | DESC] [,col_name …]]
4. **GROUP_CONCAT函数详解**: `GROUP_CONCAT`函数在MySQL中用于将同一组的某个列的值合并为一个字符串,用指定的分隔符(默认为逗号)分隔。它接受几个可选参数: - `DISTINCT`:去除重复的值。 - `ORDER BY`:...
通过上述分析,我们了解到`DISTINCT`关键字在MySQL中的运用远不止去除简单重复值这么简单,它与`GROUP BY`、`COUNT`、`GROUP_CONCAT`等其他SQL功能结合,能够应对更为复杂的查询需求,极大地提升了数据处理的灵活性...
3. **使用`GROUP_CONCAT`和`LIMIT`**:为了快速获取所有表名,攻击者可以使用`GROUP_CONCAT`函数将多个表名合并为一个字符串,然后通过`CONCAT`函数在结果中插入分隔符。这比逐个尝试`LIMIT`更有效率。 4. **字段...
`CONCAT`, `CONCAT_WS`, `GROUP_CONCAT`函数 - **`CONCAT`**: 连接两个或多个字符串值。 - **`CONCAT_WS`**: 使用指定分隔符连接字符串值。 - **`GROUP_CONCAT`**: 将多行数据合并成一个字符串。 **示例**: ```...
- `group_concat_max_len = 4294967295`:增加GROUP_CONCAT函数返回的最大长度。 - `max_connections = 1000`:设置最大连接数。 - `table_open_cache = 6000`:缓存表的数量。 - `thread_cache_size = 50`:...
### MySQL常用函数详解 #### 数学函数 - **ABS(x)**: 返回参数`x`的绝对值。 - **BIN(x)**: 将十进制数字`x`转换为二进制字符串表示。 - **CEILING(x)**: 返回不小于`x`的最小整数值。 - **EXP(x)**: 返回`e`的`x`...
### MySQL常用函数详解 #### 一、数学函数 在MySQL中,数学函数是处理数值数据的基本工具之一。这些函数能够帮助我们执行简单的算术运算、数值转换以及进行数学计算。 - **ABS(x)**:返回`x`的绝对值。例如,`ABS...
### MySQL常用函数详解 MySQL作为一款广泛使用的开源关系型数据库管理系统,在数据管理方面提供了丰富的功能。其中,函数是实现各种复杂操作的重要工具之一。本文将详细介绍MySQL中的几类常用函数,包括数学函数、...