mysql concat 去重 group_concat() 用法

硅谷探秘者 Md mysql,数据库 1470 0 0

MySQL group_concat() 函数用法

  在使用 group by 对数据进行分组后,如果需要对 select 的数据项进行字符串拼接,这时就需要用到group_concat()函数。

1、基本用法

group_concat() 完整语法如下:

group_concat([DISTINCT] 要连接的字段 [Order BY  排序字段 ASC/DESC] [Separator '分隔符'])

  通过 distinct可以去掉重复值,order by进行排序,separator指定分隔符,默认为逗号。

以一下数据为例演示:

2、基本字符串拼接

SELECT 
province,
group_concat(city) citys
from region GROUP BY province

查询结果:

3、去重

SELECT 
province,
group_concat(DISTINCT city) citys
from region GROUP BY province

查询结果:

4、order by 排序

SELECT 
province,
group_concat(DISTINCT city ORDER BY sort asc) citys
from region GROUP BY province

查询结果:

四、separator 指定分隔符

SELECT 
province,
group_concat(DISTINCT city ORDER BY sort asc Separator ' / ') citys
from region GROUP BY province

查询结果:

五、多字段拼接

以上的例子是基于单数据列演示的,如果需要多个数据列拼成一个字段返回的话,写法也很简单,如下所示:

group_concat(数据列1,'分隔符',数据列2,Separator '分隔符')
SELECT 
province,
group_concat(city,':',sort Separator ' / ') citys
from region GROUP BY province

查询结果:


评论区
请写下您的评论...
暂无评论...
猜你喜欢
数据库 962 是这种写却隐藏着较深的使陷阱。在排序字段有数据复的情况下,会很容易出现排序结果与预期不一致的问题。一、案例mysql版本:mysqlselectversion
数据库 879 户管理创建户删除户设置密码权限管理授权撤销授权刷新权限一、户管理1.创建户语:createuser[户名]identifiedby'[密码
weblog 851 mybatis模糊查询(mysql)接口方:intcount(@Param("name")Stringname);配置文件: selectid="count"resultType="int
数据库基础 3021 从数据库中挑选出符合声明的数据,而不是像传统编程思维指示计算机如何操作。所以最关键的一点是:SQL的语并不按照语顺序执行。2.sql的语顺序一般来说sql的语顺序是:SELECT[DISTIN
official 671 于前面是模糊的,所以不能利索引的顺序,必须一个个找,看是否满足条件。这样会导致全索引扫描或者全表扫描。如果是这样的条件wherecodelike'A%',就可以查找CODE中A开头的CODE的位置,
java基础 1587 java中break的特别(实现goto)publicclassA8{ publicstaticvoidmain(String[]args){ a: for(inti=0;i10;i
weblog 1001 mysql整数类型的范围MySQL支持多种数据类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。其中,整数类型包括:TINYINT、SMALLINT、MEDIUMINT、INT和
数据库 788 :YEARWEEK(date)或YEARWEEK(date,firstdayofweek)参数值date:需要。从中提取年和周数的日期或日期时间值firstdayofweek:可选,指定星期几
归档
2018-11  12 2018-12  33 2019-01  28 2019-02  28 2019-03  32 2019-04  27 2019-05  33 2019-06  6 2019-07  12 2019-08  12 2019-09  21 2019-10  8 2019-11  15 2019-12  25 2020-01  9 2020-02  5 2020-03  16 2020-04  4 2020-06  1 2020-07  7 2020-08  13 2020-09  9 2020-10  5 2020-12  3 2021-01  1 2021-02  5 2021-03  7 2021-04  4 2021-05  4 2021-06  1 2021-07  7 2021-08  2 2021-09  8 2021-10  9 2021-11  16 2021-12  14 2022-01  7 2022-05  1 2022-08  3 2022-09  2 2022-10  2 2022-12  5 2023-01  3 2023-02  1 2023-03  4 2023-04  2 2023-06  3 2023-07  4 2023-08  1 2023-10  1 2024-02  1 2024-03  1 2024-04  1
标签
算法基础 linux 前端 c++ 数据结构 框架 数据库 计算机基础 储备知识 java基础 ASM 其他 深入理解java虚拟机 nginx git 消息中间件 搜索 maven redis docker dubbo vue 导入导出 软件使用 idea插件 协议 无聊的知识 jenkins springboot mqtt协议 keepalived minio mysql ensp 网络基础 xxl-job rabbitmq haproxy srs 音视频 webrtc javascript
目录
没有一个冬天不可逾越,没有一个春天不会来临。最慢的步伐不是跬步,而是徘徊,最快的脚步不是冲刺,而是坚持。