千家信息网

MySQL中concat以及group_concat的使用示例

发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,这篇文章给大家分享的是有关MySQL中concat以及group_concat的使用示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。本文中使用的例子均在下面的数据库表tt
千家信息网最后更新 2024年11月26日MySQL中concat以及group_concat的使用示例

这篇文章给大家分享的是有关MySQL中concat以及group_concat的使用示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

本文中使用的例子均在下面的数据库表tt2下执行:

一、concat()函数

1、功能:将多个字符串连接成一个字符串。

2、语法:concat(str1, str2,...)

返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null。

3、举例:

例1:select concat (id, name, score) as info from tt2;


中间有一行为null是因为tt2表中有一行的score值为null。

例2:在例1的结果中三个字段id,name,score的组合没有分隔符,我们可以加一个逗号作为分隔符:


这样看上去似乎顺眼了许多~~

但是输入sql语句麻烦了许多,三个字段需要输入两次逗号,如果10个字段,要输入九次逗号...麻烦死了啦,有没有什么简便方法呢?--于是可以指定参数之间的分隔符的concat_ws()来了!!!

二、concat_ws()函数

1、功能:和concat()一样,将多个字符串连接成一个字符串,但是可以一次性指定分隔符~(concat_ws就是concat with separator)

2、语法:concat_ws(separator, str1, str2, ...)

说明:第一个参数指定分隔符。需要注意的是分隔符不能为null,如果为null,则返回结果为null。

3、举例:

例3:我们使用concat_ws()将 分隔符指定为逗号,达到与例2相同的效果:


例4:把分隔符指定为null,结果全部变成了null:


三、group_concat()函数

前言:在有group by的查询语句中,select指定的字段要么就包含在group by语句的后面,作为分组的依据,要么就包含在聚合函数中。(有关group by的知识请戳:浅析SQL中Group By的使用)。

例5:


该例查询了name相同的的人中最小的id。如果我们要查询name相同的人的所有的id呢?

当然我们可以这样查询:

例6:


但是这样同一个名字出现多次,看上去非常不直观。有没有更直观的方法,既让每个名字都只出现一次,又能够显示所有的名字相同的人的id呢?--使用group_concat()

1、功能:将group by产生的同一个分组中的值连接起来,返回一个字符串结果。

2、语法:group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator '分隔符'] )

说明:通过使用distinct可以排除重复值;如果希望对结果中的值进行排序,可以使用order by子句;separator是一个字符串值,缺省为一个逗号。

3、举例:

例7:使用group_concat()和group by显示相同名字的人的id号:


例8:将上面的id号从大到小排序,且用'_'作为分隔符:


例9:上面的查询中显示了以name分组的每组中所有的id。接下来我们要查询以name分组的所有组的id和score:

感谢各位的阅读!关于"MySQL中concat以及group_concat的使用示例"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

分隔符 字符 字符串 字段 结果 查询 相同 逗号 函数 参数 名字 分组 功能 语句 语法 面的 排序 输入 示例 直观 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 美国硅谷网络安全公司 学党史办事情网络安全 公司服务器主机不关耗电大吗 如何创建国际服务器 互联网产业和高科技产业区别 国家网络安全宣传周 春熙路 iis管理服务器如何安装 土豆服务器要不要下载 小李是单位的网络技术员 系统里如何导出数据库 战地一怎么关掉服务器 梦幻时光花样年华是哪个服务器 智能还信用卡软件开发 山西智能农业信息系统数据库 长宁区网络营销网络技术咨询报价 软件开发公司哪家不错 网络安全危害英语句子 昆明经开区环形建筑软件开发 软件开发多大退休 民生山西认证时服务器处理异常 服务器配置与管理pdf 上海机械软件开发要多少钱 学校网络安全排查情况报告 广汉市软件开发 医学前沿什么数据库收录 网络安全科创课题 软件开发项目的模型 央企 战略合作协议 网络安全 服务器 小米抢购 数据库视图和表的相同点
0