Sum出来的值和实际值不对

执行的sql 区别就是Sum(b.net_amount) 和 group by  但是汇总的结果就是 小数点3后面会有很多000000(小数点前是对的),各位大佬有没有遇到过这种情况

图片.png

图片.png

图片.png

FineReport 著名的蓝雨衣 发布于 2023-2-20 18:22 (编辑于 2023-2-20 18:23)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
CD20160914Lv8专家互助
发布于2023-2-20 21:03

这个是数据库里面浮点的问题,把明细相加后其实是相等的。你的明细相加就是1186.3,

后面有很多0和最后的0其实没有用了,你直接保留2位或者4位小数就行了,数据库有时候就会遇到这样精度的问题,excel也会存在的。就算你的真实值后面并没有小数,但是相加也有这个情况,所有软件都会存在这样的问题

mysql与oracel和sqlserver保留两位小数都可以用  round(1186.30000002,2)  只会保留有效的0

还有也可以直接在单元格中对他们取两位小数相加假如你的字段是扩展出来的直接=sum(round(c2,2))

image.png

最佳回答
0
runnerLv7资深互助
发布于2023-2-20 18:31(编辑于 2023-2-20 18:32)

image.png

这条求和前的明细数据是啥样的

  • 3关注人数
  • 569浏览人数
  • 最后回答于:2023-2-20 21:03
    请选择关闭问题的原因
    确定 取消
    返回顶部