当前位置: 代码迷 >> Sql Server >> 请问一个统计查询语句的写法
  详细解决方案

请问一个统计查询语句的写法

热度:71   发布时间:2016-04-24 09:29:05.0
请教一个统计查询语句的写法
表:
名称    结果
abc     pass
abc     fail
abc     pass
abc     fail
aaa    pass
aaa    fail
bbb    pass

期望查询出这样的效果:
名称  通过率
abc   50%
aaa   50%
bbb   100%

通过率=pass的出现次数 / 总数
------解决思路----------------------
SELECT 名称
,SUM(CASE WHEN 结果='pass' THEN 1 ELSE 0 END)*1.0/SUM(1)
FROM TB
GROUP BY 名称
try this
------解决思路----------------------
select 名称
,cast(convert(decimal(18,2),cast(sum(case 结果 when 'pass' then 1 else 0 end) as decimal(18,2))/cast(count(1) as decimal(18,2)))*100
as varchar)+'%' 通过率
from table
group by 名称
  相关解决方案