mysql中的group_concat(),concat(),concat_ws()函数

 

一、concat()函数

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

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

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

 要点:把想要拼接的字符串用逗号隔开即可,有一定的顺序性,同时中间允许拼接文本类型的字符串

 二、CONCAT_WS()函数

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

语法:CONCAT_WS(separator,str1,str2,...)
CONCAT_WS() 代表 CONCAT With Separator ,是CONCAT()的特殊形式。第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。如果分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值。但是CONCAT_WS()不会忽略任何空字符串。 (然而会忽略所有的 NULL)。


 

 三、GROUP_CONCAT()函数

GROUP_CONCAT(expr)

函数返回一个字符串结果,该结果由分组中的值连接组合而成。

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

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

注意: 中括号是可选的

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

 需求1: 以stuName学生名称分组,把得分数score字段的值打印在一行,逗号分隔(默认) SQL如下

 

 

posted @ 2023-10-12 15:38  托马斯骨头收集  阅读(26)  评论(0编辑  收藏  举报