那些年,SQL遇到的坑

来源:互联网 发布:系统时间锁定软件 编辑:程序博客网 时间:2024/05/16 06:26

说说自己遇到的问题:


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


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


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


于是乎查找各种函数


首先1.concat


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


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

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

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


3.group_concat()分组拼接函数


详解:http://blog.csdn.net/ys410900345/article/details/44828571

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



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


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