MySQL的group_concat()函数简单用法
将group by产生的同一个分组中的值连接起来,返回一个字符串结果。
group_concat函数首先根据group by指定的列进行分组,将同一组的列显示出来,并且用分隔符分隔。由函数参数(字段名)决定要返回的列。
用法:
(1)使用distinct可以排除重复值;
(2)如果需要对结果中的值进行排序,可以使用order by子句;
(3)separator是一个字符串值,默认为逗号。
# group_concat可以
select name,group_concat(age) from emp group by dept;
# 例如
mysql> select * from t1; # 表中数据
+----+-------+-----------+---------+
| id | name | dept | job |
+----+-------+-----------+---------+
| 1 | jack | 销售类 | sale |
| 2 | rose | 销售类 | sale |
| 3 | tom | 技术类 | DBA |
| 4 | jerry | 技术类 | develop |
| 5 | kevin | 技术类 | develop |
+----+-------+-----------+---------+
5 rows in set (0.00 sec)
# 可以将单列输出
mysql> select job,group_concat(name) from t1 group by job;
+---------+--------------------+
| job | group_concat(name) |
+---------+--------------------+
| DBA | tom |
| develop | jerry,kevin |
| sale | jack,rose |
+---------+--------------------+
3 rows in set (0.00 sec)
# 也可以对多列使用
mysql> select job,group_concat(name,'|',dept) from t1 group by job;
+---------+---------------------------------+
| job | group_concat(name,'|',dept) |
+---------+---------------------------------+
| DBA | tom|技术类 |
| develop | jerry|技术类,kevin|技术类 |
| sale | jack|销售类,rose|销售类 |
+---------+---------------------------------+
3 rows in set (0.00 sec)
# 可以指定分隔符号,使用separator即可
mysql> select job,group_concat(name separator ';') from t1 group by job;
+---------+----------------------------------+
| job | group_concat(name separator ';') |
+---------+----------------------------------+
| DBA | tom |
| develop | jerry;kevin |
| sale | jack;rose |
+---------+----------------------------------+
3 rows in set (0.00 sec)
# 使用order by进行排序
mysql> select job,group_concat(name, dept order by name separator ';') from t1 group by job;
+---------+------------------------------------------------------+
| job | group_concat(name, dept order by name separator ';') |
+---------+------------------------------------------------------+
| DBA | tom技术类 |
| develop | jerry技术类;kevin技术类 |
| sale | jack销售类;rose销售类 |
+---------+------------------------------------------------------+
3 rows in set (0.00 sec)
MySQL的group_concat()函数简单用法的更多相关文章
- mysql中的group_concat函数的用法
本文通过实例介绍了MySQL中的group_concat函数的使用方法,比如select group_concat(name) . MySQL中group_concat函数 完整的语法如下: grou ...
- MySQL中group_concat函数 --- 很有用的一个用来查询出所有group by 分组后所有 同组内的 内容
本文通过实例介绍了MySQL中的group_concat函数的使用方法,比如select group_concat(name) . MySQL中group_concat函数 完整的语法如下: grou ...
- mysql sum() 求和函数的用法
查询在record表中 name=? 的 money 加起来的值使用聚和函数 sum() 求和select sum(money) from record t where t.name = ?另外:co ...
- mysql中INSTR函数的用法
mysql中INSTR函数的用法 INSTR(字段名, 字符串) 这个函数返回字符串在某一个字段的内容中的位置, 没有找到字符串返回0,否则返回位置(从1开始) SELECT * FROM tblTo ...
- MySQL中group_concat函数-和group by配合使用
MySQL中group_concat函数 完整的语法如下: group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔 ...
- MySQL中group_concat函数深入理解
本文通过实例介绍了MySQL中的group_concat函数的使用方法,比如select group_concat(name) . 一.MySQL中group_concat函数 完整的语法如下: gr ...
- 详解MySQL中concat函数的用法(连接字符串)
MySQL中concat函数 使用方法: CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. 注意: 如果所有参数均为非二进制 ...
- MySQL中group_concat函数
本文通过实例介绍了MySQL中的group_concat函数的使用方法,比如select group_concat(name) .MySQL中group_concat函数完整的语法如下:group_c ...
- MySql中concat函数的用法(链接字符串)
MySQL中concat函数使用方法:CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. 注意:如果所有参数均为非二进制字符串 ...
- mysql之group_concat函数
mysql之group_concat函数 在介绍GROUP_CONCAT之前,我们先来看看concat()函数和concat_ws()函数. 先准备一个测试数据库: mysql> select ...
随机推荐
- openSUSE 15.4 安装 Deepin Wine QQ
1. 准备: deepin-wine5 deepin-wine-qq deepin-wine-helper 这三个包我是在openSUSE网站上搜索到的,https://software.opensu ...
- mysql零基础-2
更新中的数据完整性错误 UPDATE employees SET department_id = 55 WHERE department_id = 110; 删除数据 删除一条记录 DELETE FR ...
- c++ dll 传递string参数
用c++编写了一个dll,需要传递一个路径的变量参数,刚开始想着使用string变量,但是在实践过程中string变量会成为乱码,尽量避免使用string变量传递参数,可以使用const char* ...
- python使用openpyxl读取合并单元格的值(转)
目录问题:解决思路:问题:假设在test.xlsx的"Sheet1"工作表中,A1:D3区域的值如下:要求给定指定的行.列以及对应的工作表作为参数,能够正确解析合并单元格,获取指定 ...
- python投票一致性指数(IVC)实现代码
毕业论文中用于计算联合国会员国间在联合国大会上的投票一致性(IVC) import pandas as pd import sqlite3 import networkx as nx import t ...
- java接口自动化需要的技术
1.testNG需要了解的知识 ITestContext这个类可以直接在方法参数里使用,主要作用是可以通过它的context.getSuite()直接获取suite的相关信息.还可以通过它的 cont ...
- Qt编译问题之FTH (7156) Fault tolerant heap shim applied to current process
有时候Qt编译会出现FTH: (7156): *** Fault tolerant heap shim applied to current process. This is usually due ...
- vue实现学生管理系统
开发步骤 创建一个空文件夹,取名students-system 方式一:右键新建 方式二:命令行新建(提倡) ##windows系统 md students-system##mac/linux mkd ...
- cerebro简单使用 , ES界面化工具 , 网页查看 , 操作索引
下载安装 下载地址 https://github.com/lmenezes/cerebro/releases 解压即用 , 目录中不能有空格和中文 需要jdk11及以上(实际我本机只有jdk8也能用) ...
- 1009.Django模型基础04
一.数据库数据渲染到模板 二.案例的功能介绍 博客小案例功能介绍: 主页index.html--------------> 展示添加博客和博客列表的文字,实现页面跳转 添加页add.html-- ...