Can anyone tell me how to achieve this (if there is any?)

Cause this is causing kinda big declination from the sum results i was expecting....

Thanks in advance

Are you referring to a custom function in PHP or the SUM() function in MySql ?

Are you referring to a custom function in PHP or the SUM() function in MySql ?

Im referring to the SUM() function in MySql , of course i could do that in php if this is necessary to solve my problem

Can you give an example of you problem ?

Ofcourse

I have a table , in each cell there are different numbers.
I use this query to make the sum of this mathematical formula withing the SUM brackets

SELECT SUM((kinisis_1c + kinisis_1e + (kinisis_1c / kinisis_1b)* kinisis_1a) * (1-fpa)*1.005)
From `kiniseis`
Where date BETWEEN '2006-10-03' AND '2007-01-01';

Ok the problem is that after 20-30 records , the sum is correct , but after that there is a high declination of the actual sum. (i tested that by hand to see the accuracy of the sum ).

So after i tried many things , i end up to the conclusion that the sum funcion rounds the ratio (kinisis_1c / kinisis_1b) , and causes the above problem of declination from the actual sum of those numbers.

Thats why i search a way to bypass this problem :( if there is any way ofcourse.

Any ideas would be appreciated

Member Avatar for rajarajan2017

you doing calculation directly in the query, so that I hope there is no need of SUM, try to implement the same calculation without SUM.

All columns in the query are of the same data type ?

All are decimal, and only colump `fpa` is double.

Any work around?

seems that you'll have to fetch each column and sum it one-by-one manually. You'll have greater control about these rounding problem, but it will surely slow down your program by a little bit.

seems that you'll have to fetch each column and sum it one-by-one manually. You'll have greater control about these rounding problem, but it will surely slow down your program by a little bit.

Hm what do you mean exactly,and how i should do that , my table has arround 1000 records.

Ofcourse if could be a way of summing cells that are withing a repeat region with also do the trick for me.So to bypass the mysql roundings.

What happens to your result, if you CAST all columns to double.

Hmm i tried that couple of minutes ago , no change. :(

I think your best bet is to wait for the answer from MySql. (Saw you posted there).

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.