I'm trying to work out an average field on a report that i'm writing
and having the problem described below.
e.g. if you had 3 weeks of cash which were 0, 2, 4 then a normal
average
would be ((0+2+4)/3) = 2 but the average that I want is (2+4)/2 = 3.
Now I can do this in SQL by using AVG(cash) with a WHERE cash>0. But
the
trouble comes when all cash values are zero for all all columns on the
report.
e.g. if I had
wk1 wk2 wk3
rowA 0 2 4
rowB 0 0 0
rowC 1 0 0
I am using
SELECT name, SUM(cash), AVG(cash) from TABLE where cash>0;
And I get
rowA, 6, 3
rowC, 1, 1
This is correct for those rows but I want a result for rowB that has
rowB, 0, 0
Can anyone help with this.
and having the problem described below.
e.g. if you had 3 weeks of cash which were 0, 2, 4 then a normal
average
would be ((0+2+4)/3) = 2 but the average that I want is (2+4)/2 = 3.
Now I can do this in SQL by using AVG(cash) with a WHERE cash>0. But
the
trouble comes when all cash values are zero for all all columns on the
report.
e.g. if I had
wk1 wk2 wk3
rowA 0 2 4
rowB 0 0 0
rowC 1 0 0
I am using
SELECT name, SUM(cash), AVG(cash) from TABLE where cash>0;
And I get
rowA, 6, 3
rowC, 1, 1
This is correct for those rows but I want a result for rowB that has
rowB, 0, 0
Can anyone help with this.
Comment