Странная проблема деления на MySQL - PullRequest
2 голосов
/ 13 сентября 2010

Посмотрите на странную проблему на MYSQL. alt text

Посмотрите на столбец 3. Результат равен 0,02876121, но фактически результатом должен быть столбец 4 = 0,02876. Почему MYSQL выдает значение ошибки в десятичных точках?

* Другое дело, что это даст неправильное значение, только если я добавлю «Где столбец =« уникальное значение »», чтобы вернуть желаемый результат. Значение будет правильным, если я удалю условие where, предоставив все записи в таблице.

1 Ответ

0 голосов
/ 13 сентября 2010

Я подозреваю, что все это связано с типами данных, используемыми в расчетах.

Если 'rank' и 'program_count' представляют собой смесь целых и десятичных чисел, то SUM () вернет десятичное значение, в противном случае вернет значение с плавающей точкой. В противном случае SUM () даст число с плавающей запятой или двойное число.

В SQL float и double являются приблизительными значениями, вы можете определить уровень точности с помощью ключевого слова Float.

В вашей таблице, какие типы данных являются различными столбцами?

...