MySQL SUM返回错误的值
如果我在MySQL中添加这样的表:MySQL SUM返回错误的值,mysql,sum,Mysql,Sum,如果我在MySQL中添加这样的表: CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `value` float NOT NULL, PRIMARY KEY (`id`) ); 并添加一个条目: INSERT INTO `test` (`value`) VALUES ('123.45'); 然后对其进行如下求和: SELECT SUM( value ) FROM `test` 为什么它返回123.44999
CREATE TABLE `test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`value` float NOT NULL,
PRIMARY KEY (`id`)
);
并添加一个条目:
INSERT INTO `test` (`value`) VALUES ('123.45');
然后对其进行如下求和:
SELECT SUM( value )
FROM `test`
为什么它返回123.449994948242而不是123.45?这是因为浮点不准确。改用数据类型
CREATE TABLE `test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`value` decimal(8,2) NOT NULL,
PRIMARY KEY (`id`)
);
请参阅此示例:,因为浮点数存在以下精度“问题”:
SELECT
ROUND( SUM(value), 2)
FROM `test`