日期:2014-05-17  浏览次数:20442 次

求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 医生 

还能无满意答案结贴不成?