select t.科别,
count(case when t.住院期间是否下病危或病重='是' and 病人标识!='测试病人' then 1 end) 疑难重症人数,
count(case when t.出院主要诊断转归 ='好转'or t.出院主要诊断转归 ='治愈' and 病人标识!='测试病人' then 1 end) 治愈好转人数,
count(case when t.出院时间 is not null and 离院方式 is not null and 病人标识!='测试病人' then 1 end ) 出院人数
from 病历表 t
group by t.科别
select a.科别,
round(decode(a.疑难重症人数,0,0,a.疑难重症人数/a.出院人数)*100,4)|| '%' 疑难重症比例,
round(decode(a.治愈好转人数,0,0,a.治愈好转人数/a.出院人数)*100,4)|| '%' 治愈好转率
from (
select t.科别,
count(case when t.住院期间是否下病危或病重='是' and 病人标识!='测试病人' then 1 end) 疑难重症人数,
count(case when t.出院主要诊断转归 ='好转'or t.出院主要诊断转归 ='治愈' and 病人标识!='测试病人' then 1 end) 治愈好转人数,
count(case when t.出院时间 is not null and 离院方式 is not null and 病人标识!='测试病人' then 1 end ) 出院人数
from 病历表 t
group by t.科别
)a