`
jveqi
  • 浏览: 321620 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mysql group_concat

    博客分类:
  • sql
 
阅读更多

 

1、select group_concat(username) from sysuserstab where id in(1,2,0,1);

 

2、select Group_concat(u.name) from (select * from userinfo where find_in_set(id, '1,3')) u;

3、select group_concat(name) from userinfo where id in(1,3);

 

 

 

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

 

分享到:
评论

相关推荐

    【GROUP_CONCAT】使用之MySQL官方文档翻译

    `GROUP_CONCAT` 结果的长度受到 `group_concat_max_len` 系统变量的限制,默认值为 1024 字节。如果结果超过了这个长度,将会被截断。可以通过以下语句动态调整这个值: ```sql SET SESSION group_concat_max_...

    MySQL GROUP_CONCAT限制解决方案

    作用:  GROUP_CONCAT函数可以拼接某个字段值成字符串,默认的分隔符是 逗号,即...SHOW VARIABLES LIKE 'group_concat_max_len' 操作方法:(如图) 调整长度设置方法: (1)在MySQL配置文件中加入:  文件:my.ini

    mysql group_concat()函数用法总结

    `GROUP_CONCAT()`函数的结果受到`group_concat_max_len`系统变量的限制,它定义了返回字符串的最大长度。默认情况下,这个值是1024个字节。你可以通过以下方式调整这个限制: ```sql SET [SESSION | GLOBAL] group_...

    如何修改Mysql中group_concat的长度限制

    为了解决这个问题,你需要调整MySQL的`group_concat_max_len`系统变量。 `group_concat_max_len`变量决定了`GROUP_CONCAT`函数返回的最大长度。你可以通过以下两种方式来修改这个限制: 1. **临时修改(仅限当前...

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

    - MySQL对`GROUP_CONCAT` 输出的长度有限制,可以通过修改`group_concat_max_len`系统变量来扩展最大长度。 - 如果不指定`ORDER BY`子句,`GROUP_CONCAT` 按照字段的默认排序顺序连接字段值。 - 使用`DISTINCT`可以...

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

    - `GROUP_CONCAT`默认返回的字符串长度有限制,可以通过设置`group_concat_max_len`系统变量来调整这个限制。 - `GROUP_CONCAT`中的`SEPARATOR`关键字用于指定各个元素之间的分隔符,如果不指定,默认使用逗号 `,`。...

    Mysql的GROUP_CONCAT()函数使用方法

    MySQL中的GROUP_CONCAT()函数是一个非常实用的聚合函数,它允许你在分组查询时将同一组内的多个值合并成一个字符串。此函数主要用于数据分析和报表生成,尤其在处理多对多关系的数据时,能简化数据处理流程。在本文...

    MySQL中group_concat函数深入理解

    需要注意的是,`GROUP_CONCAT`函数返回的字符串长度受到`group_concat_max_len`系统变量的限制。默认情况下,这个值是1024个字节,如果你需要处理更长的字符串,可以通过`SET`语句临时或全局地修改此变量的值: ```...

    MySQL统计函数GROUP_CONCAT使用陷阱分析

    1. 修改MySQL配置文件(如`my.cnf`或`my.ini`),在[mysqld]段中添加一行`group_concat_max_len = 102400`,并重新启动MySQL服务。这样可以全局地增加`GROUP_CONCAT`的最大长度限制。 2. 如果你不希望修改配置文件...

    mysql的group_concat函数使用示例

    默认情况下,这个限制通常是1024个字符,可以通过修改`group_concat_max_len`系统变量来增大这个限制。 - 分隔符可以是任何字符串,例如空格、冒号或其他自定义的字符。例如,要使用分号作为分隔符,可以这样写:`...

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

    这个问题源于MySQL的一个系统变量`group_concat_max_len`,该变量限制了`GROUP_CONCAT`函数返回结果的最大长度,默认值仅为1024字节。 `group_concat_max_len`的作用是设定`GROUP_CONCAT()`函数在返回结果时能够...

    MySql采用GROUP_CONCAT合并多条数据显示的方法

    不过,需要注意的是,GROUP_CONCAT返回的字符串长度受到系统变量`group_concat_max_len`的限制,超出部分会被截断,可以调整此变量来扩大最大长度。 总的来说,GROUP_CONCAT是MySQL提供的一种强大工具,能够方便地...

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

    需要注意的是,`GROUP_CONCAT()` 返回的结果是有限制的,这取决于 `group_concat_max_len` 系统变量。默认情况下,这个值可能只有 1024 字节,如果需要处理更长的字符串,可以通过设置此变量的值来增加限制,例如: ...

    GROUP_CONCAT的用法

    2. GROUP_CONCAT 函数的结果集最大长度为 1024 字符,可以使用 `GROUP_CONCAT_MAX_LEN` 系统变量来调整结果集的最大长度。 3. GROUP_CONCAT 函数忽略空值,可以使用 `COALESCE` 函数来处理空值。 GROUP_CONCAT 函数...

Global site tag (gtag.js) - Google Analytics