那些年,SQL遇到的坑

说说自己遇到的问题:


一个业务需要把同一合同编号下的金额统计下来 ,根据 回款时间,合同id 来group by, 但是这时需要的rowid (rowid需要合并用‘+’ 分割)只有一个 。  一个。。。心凉了 心态炸了。 因为理想数据是有多个的。。。。。。。。。


虽然业务逻辑自己也能在后台代码中多查询几次也能实现,


偏执症犯病的我 一定要直接SQL 搞定


于是乎查找各种函数


首先1.concat


因为知道这个concat 是合并字符串 但是数据是根据你所有的数据。但这时我分组数据只有一个rowid,排除。。。


2.CONCAT_WS(separator,str1,str2,...) 

  CONCAT()的特殊形式。第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。

这个函数解释很接近了, 因为可以设置分隔符了 。 还是可惜,我的rowid一直只有一个。。


3.group_concat()分组拼接函数


详解:http://blog.youkuaiyun.com/ys410900345/article/details/44828571

完美解决我这个问题 而且能自己设置分隔符的符号,排序顺序



完美的一天 每天都在进步 提升。。。


话说自己偏执症何时能改。。。。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值