在mysql中,如果你属性是float double 或者string,现在要对这个列的数据进行累加操作,sum聚合函数的使用后,可能会在结果中出来很多的小数点,怎么能让进行精确累加呢?
在mysql进行聚合的时候,把数据类型转换为decimal,具体使用如下:
SELECT
count(id) AS total,
cast(
sum(commission) AS DECIMAL (19, 5)
) AS sumComm
FROM
jd_settle_order
结果:虽然后面多了三个0,但是结果是精确的
如果不使用cast:
SELECT
count(id) AS total,
sum(commission) AS sumComm
FROM
jd_settle_order
结果:这个结果是不对的!!!在对账的时候就会失败
网友评论