我有一个类似于下面的SQL表。如何进行SQL组我可以在哪里获得每步评级为9或以上的通话百分比?
所以基本上我想按StepID进行分组,然后在旁边我要显示评分超过9的调用百分比。
CallID StepID Rating
1 1 8
1 2 6
1 3 9
2 1 10
2 2 10
2 3 5
3 1 7
3 2 5
3 3 8
在这种情况下,在StepID = 1旁边,将显示33%(步骤ID 1的3次调用中有1次超过9次)。
答案 0 :(得分:5)
select
StepID,
cast(sum(case when Rating > 9 then 100.0 else 0 end)
/count(*) as decimal(5,2)) pct
from yourtable
group by StepID