mysql group_concat去重_MySQL group_concat() 函数用法
MySQL group_concat() 函数用法
在使用 group by对数据进行分组后,如果需要对 select 的数据项进行字符串拼接,这时就需要用到group_concat()函数。
1、基本用法
group_concat()完整语法如下:
group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])
通过 distinct可以去掉重复值,order by进行排序,separator指定分隔符,默认为逗号。
user 表
address 表
user与address为一对多关系,现在以user_id进行group by分组,对数据项city进行字符串拼接,写法如下:
select u.id, u.name, group_concat(ad.city) as city
from user u inner join address ad on u.id = ad.user_id
group by u.id
查询结果如下:
2、distinct 去重
从上文可以看到 id=2的数据项有两个广州市
select u.id, u.name, group_concat(distinct ad.city) as city
from user u inner join address ad on u.id = ad.user_id
group by u.id
结果如下:
3、 order by 排序
city按照以倒序的顺序排列
select u.id, u.name, group_concat(distinct ad.city order by ad.city desc) as city
from user u inner join address ad on u.id = ad.user_id
group by u.id
结果如下:
4、separator 指定分隔符
默认分隔符为逗号,这里指定短横线 --
select u.id, u.name, group_concat(distinct ad.city order by ad.city desc separator '--') as city
from user u inner join address ad on u.id = ad.user_id
group by u.id
结果如下:
5、多字段拼接
以上的例子是基于单数据列演示的,如果需要多个数据列拼成一个字段返回的话,写法也很简单,如下所示
group_concat(数据列1,'分隔符',数据列2,Separator '分隔符')
下面是简单的例子
-- 拼接city与address
select u.id, u.name, group_concat(ad.city,'--',ad.address SEPARATOR ';') as cityAddress
from user u inner join address ad on u.id = ad.user_id
group by u.id
结果如下:
至此,用法介绍完毕。
mysql group_concat去重_MySQL group_concat() 函数用法相关推荐
- mysql group_concat去重_mysql GROUP_CONCAT 函数 将相同的键的多个单元格合并到一个单元格...
mysql GROUP_CONCAT 函数 将相同的键的多个单元格合并到一个单元格 MemberID MemberName FruitName -------------- ------------- ...
- mysql 字符串截取_MySQL|SUBSTR() 函数用法
MySQL SUBSTR() 函数 :截取字符串 SUBSTR( )与SUBSTRING( )意思相等 函数语法 SUBSTR (str, pos) 截取从pos位置开始到最后的所有str字符串 SU ...
- mysql substr无效_mysql substr()函数用法
一.用法: substr(string string,num start,num length); string:为字符串: start:为起始位置: length:为长度. 二.区别: mysql中 ...
- Mysql中rank类的函数用法
Mysql中rank类的函数用法 rank() over 作用:查出指定条件后的进行排名,条件相同排名相同,排名间断不连续. 说明:例如学生排名,使用这个函数,成绩相同的两名是并列,下一位同学空出所占 ...
- split mysql的用法_mysql split函数用法实例
首先,大家要知道的是,在mysql中并没有split函数,需要自己写. 比如下面几个mysql split函数的例子. 例1,获得按指定字符分割的字符串的个数: 复制代码 代码示例: DELIMITE ...
- mysql contact 函数_mysql concat函数用法举例
学习下mysql数据库中的字符串函数 concat函数的使用方法,比如select concat('11','22','33'). MySQL中concat函数 使用方法: CONCAT(str1,s ...
- mysql 自定义过程_MySQL自定义函数
查询所有树状数据的后代节点 代码中a.centerid 为本身的唯一标示,a.parentcentid为父id标示 比如传入1 ,查出2,3,4,5,6 1 2 3 4 5 ...
- mysql 昨天日期_MySQL 日期函数 今天明天昨天......
MySQL 获得当前日期时间 函数 获得当前日期+时间(date + time)函数:now() mysql> select now(); +---------------------+ | n ...
- mysql相除_mysql 常用函数
流程控制函数 CASE 函数 [写法-] CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result . ...
最新文章
- 赠票 | 重磅揭晓Flink Forward Asia 2019完整议程!
- 函数 —— strtok() 例如:Fred male 25,John male 62,Anna female 16两层循环
- Cobbler全自动安装CentOS(整理)
- phpMyAdmin常用设置
- 又一款主流勒索软件 Paradise 的源代码遭泄露
- 【C++leetcode】寻找给定字符串的最大回文子串
- 读书笔记:程序员的工具箱之“代码片段”
- 事业单位资产管理系统广西某单位案例:实现资产动态全过程管理
- GC bias GC偏好
- 模电——电源与地之间串联电容的作用
- 计算机视觉(ComputerVision, CV)相关领域的网站链接
- 【计算机视觉】图像配准(Image Registration)
- golang数据结构初探之字典map
- 【解决方案 二十三】带单位的数值转大写人民币金额
- Epub 阅读器 - iOS
- 面经汇总--校招--北京顺丰同城
- 【步态识别】MvGGAN 基于多视角步态生成对抗网络 算法学习《Multi-View Gait Image Generation for Cross-View Gait Recognition》
- HDU 4546 比赛难度
- 标准24+1型DVI转VGA头
- Tasklist使用详解
热门文章
- 利用BenchmarkDotNet 测试 .Net Core API 同步和异步方法性能
- 拥抱.NET Core系列:MemoryCache 缓存域
- 基于Office 365的随需应变业务应用平台
- C#将WebBowser控件替换为Chrome内核
- 如何将 Microsoft Bot Framework 链接至微信公共号
- MySQL-06:pyMySQL增删改查基本命令笔记
- 【ArcGIS遇上Python】ArcGIS Python批处理入门到精通实用教程目录
- Android之用UncaughtExceptionHandler实现保存崩溃日志到sdcard目录下的文件夹
- LeetCode之Keyboard Row
- windows之DNS7种资源记录和flushdns命令清除DNS缓存以及nslookup解析域名和ipconfig/all命令查看网络配置使用总结