将两个值相加时仅显示大于某个数字的结果

And*_*w_S 3 sql-server-2008

我有一个查询将同一个表中的两个值相加,然后计算一个作为另一个的百分比

select account_no,
  100*((sum(COMMISSION/100)) / (SUM(AMOUNT/100)))
from accounts etc
Run Code Online (Sandbox Code Playgroud)

我想要做的只是返回该值大于一定数量的结果(在本例中为 4)。如果我在 where 子句中添加一些内容,例如:

where 100*((sum(COMMISSION/100)) / (SUM(AMOUNT/100))) > 4
Run Code Online (Sandbox Code Playgroud)

我收到错误:

聚合可能不会出现在 WHERE 子句中...

我希望有一种简单的方法可以解决这个问题,但我还没有学到。有任何想法吗?

Aar*_*and 6

尝试:

HAVING 100*((sum(COMMISSION/100)) / (SUM(AMOUNT/100))) > 4
Run Code Online (Sandbox Code Playgroud)

但是,您仍然可能会发现整数数学会阻止您获得想要的结果。所以这可能会更好:

HAVING 100*((1.0*sum(COMMISSION/100)) / (1.0*SUM(AMOUNT/100))) > 4
Run Code Online (Sandbox Code Playgroud)