需求:
需要对查询的结果集多行合并为一行,中间结果以逗号分隔
实现:
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 ‘分隔符’] ) 说明:可以连接多个字段,也可以对连接字段进行排序,默认以 逗号 分隔字段