mysql中concat(),concat_ws()及group_concat()的用法及区别

1:concat()函数

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

功能:可以将多个字符串拼接在一起。

测试表数据:

 实战演示:(1)实战功能将是三个字段合并在一起

 

(2)

2.concat_ws()函数 

用法: concat_ws(separator,str1,str2,...)

功能:可以将多个字符串拼接在一起并中间用分隔符隔开。

功能演示:三个字段中间用'_'拼接在一起。

 

3.group_concat()

功能一:(1)根据主键的唯一性分组拼接,显示列中可以包含非分组列(t.spzt,t.spfm)

如果按照相同列分组合并,则前面显示列中一定不能出现非分组列字段  如下:

错误写法: 

提示错误信息:

选择列表不在GROUP BY子句中,并且包含未聚合的列“dsnl_new.t.id”,该列在功能上不依赖GROUP BY子句中的列

 正确写法:

 

功能二:将多行数据合并成一行

总结:

1.concat()和concat_ws()的区别是:concat()可以将任意字符串拼接在一起,字符串之间也可以用分隔符拼接;而concat_ws()函数提供了一种方便的方法是将字符串之间用间隔符分开,但是concat_ws()不能将指定字符串之间进行间隔拼接,但是实际工作中常用concat()函数就可以解决大部分问题了。

2.group_concat()函数 是将字符串分组拼接,如果在使用group by 注意如果分组列含有唯一列(比如主键)则前面显示列中可以包含所有列

 只要分组中含所有唯一列这样写也可以

 如果分组列中按照非唯一列分组,则前面显示列中不能出现非分组列字段

 如果不用group by可以将多行数据合并成一行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值