SQL查找组的百分比?

时间:2018-12-06 17:39:18

标签: sql sql-server

我有一个SQL表,其中包含一列名称和一列他们为票款支付的价格。我可以使用哪个查询来查询支付超过100英镑的人所占的百分比?谢谢

2 个答案:

答案 0 :(得分:2)

您可以使用avg()来获取比率:

select avg(case when price > 100 then 1.0 else 0 end)
from t;

答案 1 :(得分:1)

select 
   100.0                                      -- to get a percentage
   * count(case when price > 100 then 1 end)  -- who paid over 100?
   / count(*)                                 -- all rows
from tickets