[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сумма столбца
Athlete
Здравствуйте, есть запрос:

PHP
$sql3 = ("SELECT SUM(cube) AS cube FROM upp_ttn WHERE to_days(date)>=to_days(curdate())-7 AND pokup=0 AND rastvor=0 AND marka='".$arr_beton[$i]."'");


Суммирует значения в столбце cube, но считает не корректно, например суммирует значения 1+1.4, а в итоге получается 1.39999487. Подскажите, в чем может быть причина?



Спустя 5 минут, 49 секунд (15.06.2009 - 07:46) Kuliev написал(а):
Athlete
Используй функцию ROUND

Спустя 25 минут, 45 секунд (15.06.2009 - 08:11) Athlete написал(а):
Спасибо за подсказку, меня все таки интересует ПОЧЕМУ так получается? В скрипте есть еще один аналогичный запрос, где изменен лишь параметр rastvor=1, там все работает как надо... user posted image

Спустя 1 час, 3 минуты, 59 секунд (15.06.2009 - 09:15) twin написал(а):
Причина в типе поля `cube`. Осмелюсь предположить, что это FLOAT. Такова особенность MySQL. При типе поля FLOAT возможны такие казусы. Лучше округлять до нужного к-ва знаков DECIMAL

Спустя 1 час, 16 минут, 49 секунд (15.06.2009 - 10:32) sergeiss написал(а):
Цитата (twin @ 15.06.2009 - 10:15)
Осмелюсь предположить, что это FLOAT. Такова особенность MySQL.

Позволь поправлю smile.gif Это особенность не именно MySQL, а вообще работы с вещественными числами на компе, вне зависимости от языка программирования, типов БД и т.п. фиговин.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.