我有一个简单的表,看起来像这样:
id,field
40,Agree
41,Agree
42,Disagree
43,Strongly agree
45,Strongly agree
46,Agree
47,Neutral
48,Agree
如果该字段为“同意”或“非常同意”,我想输出完美的答复。在这种情况下,它将是6/8或0.75。
我不太确定如何处理它,但是我的猜测是我将需要使用子查询来选择仅包含我感兴趣的两个响应的表,然后将其除以原始表的行数
感谢您的帮助。
谢谢!
答案 0 :(得分:4)
一种简单的方法使用条件聚合:
select avg(case when field in ('Agree', 'Strongly Agree') then 1.0 else 0
end) as ratio
from t;