求sql语句!!
SQL: 医生 药品
1 感冒药
1 消炎药
1 消炎药
1 避孕药
1 避孕药
1 消炎药
2 感冒药
2 消炎药
2 避孕药
要求统计每个医生开了多少次药,开了多少次感冒药和避孕药(要用到....in('感冒药','避孕药'),占的比例有多少? 要求在一个表中体现!求sql语句!
结果应该是这样的:
医生 开药次数 感冒药+避孕药 开感冒药比列
1 6 3 50%
2 3 2 66%
[解决办法]
select 医生,COUNT(1) as 开药次数,SUM(case when 药品 in ('感冒药','避孕药') then 1 else 0 end )as 开感冒要次数,SUM(case when 药品 in ('感冒药','避孕药') then 1 else 0 end )*1.0/COUNT(1)*100 as 开感冒药比例
from tb
group by 医生
还能无满意答案结贴不成?