在使用ShardingSphere分组聚合时是,出现了数据汇总不正确问题。我这里只进行了分表,未进行分库。使用的是广播查询,因为是定时任务统计,无法使用到分片键。进行分组的字段是两个
1、 SQL查询列,不要使用【IFNULL(sum(xxx),0))】 直接采用【sum(xxx)】方式。 — 应该是版本问题,目前不了解是否修复了。不支持 IFNULL ?
2、如果去除了【IFNULL】还是不行,那么可以使用一个融合方法。使用【concat】函数,将多个分组字段合并进行统计,这样【ShardingSphere】在进行【分组归并】时,可以很好的进行聚合。看看是否可以解决:
SQL SELECT concat(upp.type,'_', IFNULL(p.tag,'')) as channelIdProductLoanTag, sum(upp.loan_amount) as loanAmount FROM tb1 upp -- 分片表 left join x2 p on upp.product_id = p.id -- 非分表表 WHERE upp.state = 7 group by channelIdProductLoanTag order by channelIdProductLoanTag
来源链接:https://www.cnblogs.com/easonchean/p/18783597
© 版权声明
本站所有资源来自于网络,仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您(转载者)自己承担!
如有侵犯您的版权,请及时联系3500663466#qq.com(#换@),我们将第一时间删除本站数据。
如有侵犯您的版权,请及时联系3500663466#qq.com(#换@),我们将第一时间删除本站数据。
THE END
暂无评论内容