您好我有这样的表格,并希望构建视图以获取每种类型的总和(计数)。
对于每种类型,我想将" cat"中的计数总和除以NULL。 " cat"
这是我的查询,它给我不正确的结果(我想因为我需要先计算总数,但我很难这样做)
select case
When protocol = 61002 AND type= 3 THEN "S11 Success Rate"
When protocol= 61002 AND type = 4 THEN "S11 Bearer Success Rate"
end as name,
max(case when cat is null then count end ) / nullif(max(case when cat is not null then count end),0) as result
from table
使用此表:
类型3的期望结果是结果=(63 + 15456) / (51609 + 18127)= 0.2225
答案 0 :(得分:1)
我觉得这就是你要找的东西:
select
case
When protocol = 61002 AND type = 3 THEN "S11 Success Rate"
When protocol = 61002 AND type = 4 THEN "S11 Bearer Success Rate"
end as name,
sum(case when cat is null then count else 0 end)/sum(case when cat is null then 0 else count end)
from table
group by name
这会产生以下结果:
S11成功率0.22253929104049558
S11承载成功率0.90956749672346004
分组确保您可以按类型进行汇总。 case语句在值不正确时将值设置为0。这会产生您期望的正确总和。