表中记录有日期,科室名称,性别等
如何统计出下面的表(按月份统计):
年月 科室 男生数量 女生数量 总人数

解决方案 »

  1.   

    我来吧
    原来表结构
    create table human 
    (id,integer identity(1,1) primary key,
     科室 varchar(30),
     性别 varchar(2)
    )select 科室,女生数量=sum(t1.女生数量),
    男生数量=sum(t1.男生数量),
    总人数=sum(t1.男生数量)+sum(t1.女生数量),
     from
    (
    select
    科室,
    女生数量=case when 性别=女生 then count(id) else 0  end,
    男生数量=case when 性别=男生 then count(id) else 0 end
    from human 
    group by 科室,性别
    )t1
    group by 科室以上仅仅是一个演示,具体要自己修改来用。不是所有的数据库都支持这种子查询和汉语列名称。具体情况具体对待。
      

  2.   

    数据库用ACCESS2000和SQL SERVER2000
    表是病人记录,一行一个病人,统计各个月中各科室的男女病人数量。
    表结构:
    keshi
    sex
    ...
    结果最好是如下;
    yyyy mm keshi sum_male sum_female
    SQL好象不支持case when,上面的例子也没有按yyyymm年月统计
      

  3.   

    SQLServer:select convert(char(6),时间,112) 年月,科室,sum(case 性别 when '男' then 1 else 0 end) 男生数量,sum(case 性别 when '女' then 1 else 0 end) 女生数量,count(*) 总人数 from 表 group by convert(char(6),时间,112),科室