mysql concat 去重 group_concat() 用法

硅谷探秘者 mysql,数据库 407 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

查询结果:

猜你喜欢
数据库 643 是这种写却隐藏着较深的使陷阱。在排序字段有数据复的情况下,会很容易出现排序结果与预期不一致的问题。一、案例mysql版本:mysqlselectversion
数据库 533 户管理创建户删除户设置密码权限管理授权撤销授权刷新权限一、户管理1.创建户语:createuser[户名]identifiedby'[密码
weblog 633 mybatis模糊查询(mysql)接口方:intcount(@Param("name")Stringname);配置文件: selectid="count"resultType="int
数据库基础 2782 从数据库中挑选出符合声明的数据,而不是像传统编程思维指示计算机如何操作。所以最关键的一点是:SQL的语并不按照语顺序执行。2.sql的语顺序一般来说sql的语顺序是:SELECT[DISTIN
official 433 于前面是模糊的,所以不能利索引的顺序,必须一个个找,看是否满足条件。这样会导致全索引扫描或者全表扫描。如果是这样的条件wherecodelike'A%',就可以查找CODE中A开头的CODE的位置,
java基础 1248 java中break的特别(实现goto)publicclassA8{ publicstaticvoidmain(String[]args){ a: for(inti=0;i10;i
weblog 734 mysql整数类型的范围MySQL支持多种数据类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。其中,整数类型包括:TINYINT、SMALLINT、MEDIUMINT、INT和
数据库基础 3799 mybatis批量更新数据mysql方式1简单粗暴,写一个更新的方,循环调就是了,但是效率就比较低了。性能较差。方式2批处理,类似于:UPDATEstuSETname='jia',score
归档
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
标签
算法基础 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
目录
没有一个冬天不可逾越,没有一个春天不会来临。最慢的步伐不是跬步,而是徘徊,最快的脚步不是冲刺,而是坚持。