mysql - mysql奇怪的除法问题

标签 mysql division

看MYSQL上的奇怪问题。 alt text

查看第 3 列。结果是 0.02876121,但实际结果应该是第 4 列 = 0.02876。 为什么 MYSQL 在小数点上给出错误值?

*另一件事是,如果我附加“Where column = 'uniquevalue'”以返回我想要的结果,它只会给出错误的值。 如果我删除 where 条件,该值是正确的,给出表中的所有记录。

最佳答案

我怀疑这与计算中使用的数据类型有关。

如果“rank”和“program_count”是整数和小数的混合,则 SUM() 将返回一个小数值,否则它将返回一个浮点值。否则 SUM() 将给出 float 或 double 。

在 SQL 中 float 和 double 是近似值,您可以使用 Float 关键字定义精度级别。

在您的表格中,各个列的数据类型是什么?

关于mysql - mysql奇怪的除法问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3698639/

相关文章:

javascript - 为什么我的 for 循环在某些情况下无法启动?

division - 如何实现大数(bignums)的长除法

java - 试图设置狗尾部的长度,但由于某种原因它不起作用

java - 发送两个不同类的对象到jsp并显示信息

mysql - 如何打印mysql中SUBSTRING_INDEX()字段的数据

php - 我需要在 schema.xml 中编写什么才能在 Solr 中的两个或多个字段中进行搜索?

java - 如何在 Java 中除以小数而不为零?

mysql - 比较 mysql 时间戳

mysql - 使用 GROUP BY 从 MySql 数据库中获取第二高的值

sql - 在 SQL 中计算百分比