Может ли кто-нибудь сказать мне причину, почему функция MySQL SUM (), выполняемая для столбцов FLOAT, дает странный результат?
Пример:
CREATE TABLE payments (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
amount FLOAT DEFAULT NULL,
PRIMARY KEY(id)
);
INSERT INTO payments (amount) VALUES (1.3),(1.43),(1.65),(1.71);
При выполнении SUM (), ожидая 6.09, MySQLвозвращает это плавающее число:
mysql> SELECT SUM(amount) FROM payments WHERE 1;
+--------------------+
| SUM(amount) |
+--------------------+
| 6.0899999141693115 |
+--------------------+
1 row in set (0.00 sec)
Это довольно страшно для парня, который может разработать, скажем ... бухгалтерское программное обеспечение!: /
Версия: Mysql 5.5.60