Выполняю операцию для вычисления процента на основе 2 значений.Получение неправильного значения из SQL Math Operation?
У меня есть отдельная таблица, которая отслеживает общую стоимость в сравнении с месяцами и годами.
Имя таблицы - donation_tracker
Я сравниваю всех месяцев через текущий и предыдущий год, то выполняя вычисления, такие как:
Текущее значение (месяц- январь, год- 2014, CityID-1)/Предыдущее значение (месяц-январь, год-2013, CityID-1) = значение подразделения * 100 = новое процентное значение.
Некоторые математические операции являются правильными, но некоторые из них неправильно, например, изображение ниже показывает 140, когда оно должно быть 130.
Значения Я quering следующим образом:
в столбце donation_amount устанавливается как
Тип = Десятичный
Длина = 10,2.
Сумма должна быть 130 ...
SQL code-
SELECT city_markers.City_ID, city_markers.City_Name, city_markers.City_Lng, city_markers.City_Lat, SUM(d2.Donation_Amount) , d1.Month, d1.Year, round((
D2.Donation_amount/D1.Donation_amount
) *100, 2)
FROM `city_markers`
INNER JOIN donation_tracker d1 ON city_markers.City_ID = d1.City_ID
INNER JOIN donation_tracker D2 ON d1.month = D2.month
AND d1.month = 'January'
AND d2.month = 'January'
AND d2.year = '2014'
AND D1.year = D2.year -1
AND D1.Location_ID = D2.Location_ID
GROUP BY city_markers.City_ID
Спасибо.
Спасибо, что действительно помог мне. –