需求:
需要对查询的结果集多行合并为一行,中间结果以逗号分隔
实现:
SELECT GROUP_CONCAT(number SEPARATOR ',') from oct_hr_record where education_status='1';

内容扩展:
在MySQL中字符串拼接常用的方法整理: 1、CONCAT() 2、CONCAT_WS() 3、GROUP_CONCAT()
1、 CONCAT()
语法:CONCAT(str1,str2,...) 说明:作为最常用的字符串拼接方法,但是CONCAT函数在遇到拼接中的字符串出现 NULL 的情况,会返回 NULL
2、 CONCAT_WS()
此种连接字符串的方法,从名字上就能看出:从concat with separator,使用分隔符连接字符串。
语法:CONCAT_WS(separator,str1,str2,…)
使用说明:第一个参数separator是用来分隔其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数
对比说明:concat_ws与concat相比优点:
1、可以使用分隔符连接字符串
2、若连接的字符串出现 NULL 值,concat_ws会忽略 NULL 值,
返回其他连接字符串
3、 GROUP_CONCAT()
此种连接方法,主要是将某一字段的值连接成一行进行显示,具体可以参看上面的问题实例。
语法 :group_concat( [DISTINCT] 连接的字段 [Order BY 排序字段 ASC/DESC] [Separator ‘分隔符’] ) 说明:可以连接多个字段,也可以对连接字段进行排序,默认以 逗号 分隔字段
本文介绍了如何在MySQL中使用GROUP_CONCAT函数将查询结果的多行合并为一行,以逗号分隔,同时比较了CONCAT和CONCAT_WS的区别。重点讲解了GROUP_CONCAT在处理NULL值和字段聚合的应用。

4254

被折叠的 条评论
为什么被折叠?



