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函数可以拼接某个字段值成字符串,默认的分隔符是 逗号,即”,” , 如果需要自定义分隔符可以使用 SEPARATOR 如: SELECT GROUP_CONCAT(name SEPARATOR '_') FROM user 限制: GROUP_CONCAT...
MySQL中group_concat函数,完整的语法如下: 代码如下:group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator ‘分隔符’]) 基本查询 代码如下:select * from aa; 代码如下:+——+——+|...
本文通过实例介绍了MySQL中的group_concat函数的使用方法,比如select group_concat(name) 。 MySQL中group_concat函数 完整的语法如下: group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] ...
本文实例讲述了mysql中GROUP_CONCAT的使用方法。分享给大家供大家参考,具体如下: 现在有三个表,结构如下: cate表: CREATE TABLE `cate` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id', `...
最近在用MySQL做一些数据的预处理,经常会用到group_concat函数,比如类似下面一条语句 代码如下:mysql>select aid,group_concat(bid) from tbl group by aid limit 1; sql语句比较简单,按照aid分组,并且把相应的...
语法: GROUP_CONCAT([DISTINCT] expr [,expr …][ORDER BY {unsigned_integer | col_name | expr}[ASC | DESC] [,col_name …]][SEPARATOR str_val]) 下面演示一下这个函数,先建立一个学生选课表...
group_concat()函数的参数是可以直接使用order by排序的。666。。 下面通过例子来说明,首先看下面的t1表。 比如,我们要查看每个人的多个分数,将该人对应的多个分数显示在一起,分数要从高到底排序。 可以这样写...
select group_concat(list_name) from aa_list 您可能感兴趣的文章:MySql采用GROUP_CONCAT合并多条数据显示...concat()函数用法总结MySQL统计函数GROUP_CONCAT使用陷阱分析mysql的group_concat函数使用示例MySQL中gro
group_concat(),手册上说明:该函数返回带有来自一个组的连接的非NULL值的字符串结果。 通俗点理解,其实是这样的:group_concat()会计算哪些行属于同一组,将属于同一组的列合并显示出来。要返回哪些列,由...
上一篇文章 跨表更新,看到自己写的SQL像个憨憨写了关于跨表个更新的内容。一年过的很快,文中后来的两位员工 ...在 Mysql 官方文档 中,该函数被放在聚合函数章节,如果你要按照指定字段分组拼接,就要配合关键字 GRO
sybase数据库是不支持group_concat函数的,此文件为sybase存储过程样例,可以将多行信息按标识合并为一行多列。
前天在生产环境中遇到一个问题:使用 GROUP_CONCAT 函数select出来的数据被截断了,最长长度不超过1024字节,开始还以为是navicat客户端自身对字段长度做了限制的问题。后面故意重新INSERT了一个字段长度超1024字节...
利用group_concat()方法,参数为需要合并的字段,合并的字段分隔符默认为逗号,可通过参数separator指定,该方法往往配合group by 一起使用。 例子: select a.*,group_concat(b.name separator '
本文实例讲述了MySql采用GROUP_CONCAT合并多条数据显示的方法,分享给大家供大家参考。具体实现方法如下: 假设有这样一个需求: 1:班级表: id class_name 2:学生表: id name class_id 如果我们要查所有的班级...
利用函数:group_concat(),实现一个ID对应多个名称时,原本为多行数据,把名称合并成一行。 其完整语法: GROUP_CONCAT(expr) 该函数返回带有来自一个组的连接的非NULL值的字符串结果。其完整的语法如下所示: GROUP...
Sqli-labs安装需要安装以下环境 ...Sqli-labs安装 ... ...介绍几个函数: (1)version():查看数据库版本 (2)user():查看当前用户 (3)database():查看... (5)group_concat():一次性获取数据库信息。
Sqli-labs安装需要安装以下环境 ...Sqli-labs安装 ... ...进行安装数据库的创建,至此,安装结束。我们就可以开始游戏了。 介绍几个函数: (1)version():查看数据库... (5)group_concat():一次性获取数据库信息。
SQL中的单记录函数 1.ASCII 返回与指定的字符对应的十进制数; SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual; A A ZERO SPACE --------- --------- --------- --------- ...
group by + group_concat(字段):分组+内容 连接为一个字符串 group by + having:【注】having只能用于group by。而where是用来过滤表数据的 group by + with rollup:分组+小计 限制记录limit:限制...
一、AVG AVG(col) 返回指定列的平均值 二、COUNT COUNT(col) 返回指定列中非NULL值...GROUP_CONCAT([DISTINCT] expr [,expr …] [ORDER BY {unsigned_integer | col_name | expr} [ASC | DESC] [,col_name …]]