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如下