mysql之group_concat函数详解
group_concat( [DISTINCT] 要连接的字段 [Order BY 排序字段 ASC/DESC] [Separator '分隔符'] )
下面举例说明:
select * from goods;
+------+------+
| id| price|
+------+------+
|1 | 10|
|1 | 20|
|1 | 20|
|2 | 20|
|3 | 200 |
|3 | 500 |
+------+------+
6 rows in set (0.00 sec)
以id分组,把price字段的值在同一行打印出来,逗号分隔(默认)
select id, group_concat(price) from goods group by id;
+------+--------------------+
| id| group_concat(price) |
+------+--------------------+
|1 | 10,20,20|
|2 | 20 |
|3 | 200,500|
+------+--------------------+
3 rows in set (0.00 sec)
以id分组,把price字段的值在一行打印出来,分号分隔
select id,group_concat(price separator ';') from goods group by id;
+------+----------------------------------+
| id| group_concat(price separator ';') |
+------+----------------------------------+
|1 | 10;20;20 |
|2 | 20|
|3 | 200;500 |
+------+----------------------------------+
3 rows in set (0.00 sec)
以id分组,把去除重复冗余的price字段的值打印在一行,逗号分隔
select id,group_concat(distinct price) from goods group by id;
+------+-----------------------------+
| id| group_concat(distinct price) |
+------+-----------------------------+
|1 | 10,20|
|2 | 20 |
|3 | 200,500 |
+------+-----------------------------+
3 rows in set (0.00 sec)
以id分组,把price字段的值打印在一行,逗号分隔,按照price倒序排列
select id,group_concat(price order by price desc) from goods group by id;
+------+---------------------------------------+
| id| group_concat(price order by price desc) |
+------+---------------------------------------+
|1 | 20,20,10 |
|2 | 20|
|3 | 500,200|
+------+---------------------------------------+
3 rows in set (0.00 sec)
分享到:
相关推荐
`GROUP_CONCAT` 结果的长度受到 `group_concat_max_len` 系统变量的限制,默认值为 1024 字节。如果结果超过了这个长度,将会被截断。可以通过以下语句动态调整这个值: ```sql SET SESSION group_concat_max_...
MySQL中的GROUP_CONCAT函数是一个非常实用的统计函数,它允许我们合并特定列的值,并以指定的分隔符连接它们。然而,在某些情况下,如果不注意,可能会遇到一些使用陷阱,导致数据被截断或者出现警告。本文将深入...
为了解决这个问题,你需要调整MySQL的`group_concat_max_len`系统变量。 `group_concat_max_len`变量决定了`GROUP_CONCAT`函数返回的最大长度。你可以通过以下两种方式来修改这个限制: 1. **临时修改(仅限当前...
作用: GROUP_CONCAT函数可以拼接某个字段值成字符串,默认的分隔符是 逗号,即...SHOW VARIABLES LIKE 'group_concat_max_len' 操作方法:(如图) 调整长度设置方法: (1)在MySQL配置文件中加入: 文件:my.ini
需要注意的是,`GROUP_CONCAT`函数返回的字符串长度受到`group_concat_max_len`系统变量的限制。默认情况下,这个值是1024个字节,如果你需要处理更长的字符串,可以通过`SET`语句临时或全局地修改此变量的值: ```...
- `GROUP_CONCAT`默认返回的字符串长度有限制,可以通过设置`group_concat_max_len`系统变量来调整这个限制。 - `GROUP_CONCAT`中的`SEPARATOR`关键字用于指定各个元素之间的分隔符,如果不指定,默认使用逗号 `,`。...
MySQL中的GROUP_CONCAT()函数是一个非常实用的聚合函数,它允许你在分组查询时将同一组内的多个值合并成一个字符串。此函数主要用于数据分析和报表生成,尤其在处理多对多关系的数据时,能简化数据处理流程。在本文...
GROUP_CONCAT常与其他函数一起使用,如CONCAT_WS。在示例中,`CONCAT_WS(', ', contactLastName, contactFirstName)`将名和姓用逗号连接,然后整个结果再用分号分隔。 总之,GROUP_CONCAT函数是MySQL中处理字符串...
在Oracle数据库中,WM_CONCAT是一个非常实用的聚合函数,用于将一组字符串连接成一个单一的字符串,类似于SQL Server中的STRING_AGG或MySQL中的GROUP_CONCAT。然而,Oracle官方并没有提供这个函数,它是一个第三方...
默认情况下,这个限制通常是1024个字符,可以通过修改`group_concat_max_len`系统变量来增大这个限制。 - 分隔符可以是任何字符串,例如空格、冒号或其他自定义的字符。例如,要使用分号作为分隔符,可以这样写:`...
`GROUP_CONCAT()`函数的结果受到`group_concat_max_len`系统变量的限制,它定义了返回字符串的最大长度。默认情况下,这个值是1024个字节。你可以通过以下方式调整这个限制: ```sql SET [SESSION | GLOBAL] group_...
2. GROUP_CONCAT 函数的结果集最大长度为 1024 字符,可以使用 `GROUP_CONCAT_MAX_LEN` 系统变量来调整结果集的最大长度。 3. GROUP_CONCAT 函数忽略空值,可以使用 `COALESCE` 函数来处理空值。 GROUP_CONCAT 函数...
需要注意的是,`GROUP_CONCAT()` 返回的结果是有限制的,这取决于 `group_concat_max_len` 系统变量。默认情况下,这个值可能只有 1024 字节,如果需要处理更长的字符串,可以通过设置此变量的值来增加限制,例如: ...
这个问题源于MySQL的一个系统变量`group_concat_max_len`,该变量限制了`GROUP_CONCAT`函数返回结果的最大长度,默认值仅为1024字节。 `group_concat_max_len`的作用是设定`GROUP_CONCAT()`函数在返回结果时能够...