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

sql统计报表
employee

1 张三 18 M
2 李四 17 F
3 王五 21 M
4 赵六 20 F
5 孙七 30 F

写sql返回
          男员工 女员工
20岁以下  1     1
20岁到30  1     2

------解决方案--------------------
select case when age<20 then N'20岁以下'
            when age>=20 and age<=30 then N'20岁到30'
       else N'30岁以上'end,
       sum(case when sex='M' then 1 else 0 end),
       sum(case when sex='M' then 0 else 1 end)
from employee
group by 
case when age<20 then N'20岁以下'
            when age>=20 and age<=30 then N'20岁到30'
       else N'30岁以上'end