concat,concat_ws,group_concat函数

 一、concat()函数
 功能:将多个字符串拼接成一个字符串
 语法:concat(str1,str2,...)
 返回结果为连接参数产生的字符串 如果有任何一个参数为NULL 则返回值NULL
 
 select concat(name,score) from hehe;

concat,concat_ws,group_concat函数_第1张图片

 select concat(period,',',award) as info from collect_ahsyxw;

concat,concat_ws,group_concat函数_第2张图片
 
 注:-符号 如果参数多的话 需要更多的-符号 因此需要concat_ws()
 
 二、concat_ws()函数
 功能:一次性指定分隔符
 语法:concat_ws(separator,str1,str2,...)
 说明:第一个参数指定分隔符 分隔符不能为空 如果为NULL 则返回值NULL
 
select concat(',',name,score) from hehe;

concat,concat_ws,group_concat函数_第3张图片
 
 select concat_ws(null,name,score) from hehe;
 concat,concat_ws,group_concat函数_第4张图片
 三、group_concat()函数
 序:在有group by查询语句中 select指定的字段要么包含在group by语句后面 作为分组的依据
 要么就包含在聚合函数中
 
 例子:
 select name,min(id) from hehe group by name;
 concat,concat_ws,group_concat函数_第5张图片
 select id,name from hehe order by name;

concat,concat_ws,group_concat函数_第6张图片
 
 1.功能:将group by产生的同一个分组中的值连接起来 返回一个字符串结果
 2.语法 group_concat([distinct]要连接的字段 [order by 排序字段 asc/desc][separator'分隔符'])
 说明:通过使用distinct可以排除重复值 如果希望对结果中的值进行排序 可以使用order by子句 separator是一个字符串值
 缺省为一个逗号
 举例:
 使用group_concat()和group by显示相同名字的人的id号
 concat,concat_ws,group_concat函数_第7张图片
 举例:
 将上面的id号从小到大排序 且用'_'作为分隔符:
 concat,concat_ws,group_concat函数_第8张图片
 举例:以name分组的所有组id和score

concat,concat_ws,group_concat函数_第9张图片

id和score连在一起 看的不是那么直观 使用concat_ws() 对每组中的id,score进行分割

concat,concat_ws,group_concat函数_第10张图片

你可能感兴趣的:(Mysql)