I have a query that sums up two values in the same table and then calculates one as a percentage of the other
select account_no,
100*((sum(COMMISSION/100)) / (SUM(AMOUNT/100)))
from accounts etc
What I want to do is only return results where that value is greater than a certain amount (say 4 in this case). If I add something in the where clause such as:
where 100*((sum(COMMISSION/100)) / (SUM(AMOUNT/100))) > 4
I get the error:
An aggregate may not appear in the WHERE clause…
I expect there's an easy way round this that I haven't learned yet. Any ideas?
Best Answer
Try:
However you will still probably find that integer math is preventing you from getting the result you want. So this might be better: