日期:2014-05-18  浏览次数:20540 次

关于单表求结果的问题,大家帮忙看一下哦
一个简单的表(字段如下):
ID号       姓名         部门           性别
001           a           生产部           男
002           b           生产部           女
003           c           生产部           男
004           d           生产部           男
005           e           销售部           男
006           f           销售部           男
007           g           销售部           男
008           h           财务部           女
009           i           财务部           女
010           j           维护部           男
----------------------------------------------------
我现在想统计出这样的形式:
      部门               男(人数)             女(人数)
    生产部                   3                           1
    销售部                   3                           0
    财务部                   0                           2
    维护部                   1                           0
(应该写怎样的语句啊?最好是一个SQL语句)
-----------------------------------------------------
我只能做到以下表的统计形式,不知道怎么连接起来哦?????????
(1)select   部门   as   部门名称   ,count(*)   as   男   from   人员资料表   where   性别= '男 '   group   by   部门
结果:
    部门             男
  生产部           3
  销售部           1
  维护部           3

(2)select   部门   as   部门名称   ,count(*)   as   女   from   人员资料表   where   性别= '女 '   group   by   部门  
结果:
    部门           女
  生产部         1
  财务部         2
-----------------------------------------请高手们帮下忙的哦....


------解决方案--------------------
Select
部门,
SUM(Case 性别 When '男 ' Then 1 Else 0 End) As 男,
SUM(Case 性别 When '女 ' Then 1 Else 0 End) As 女
From
人员资料表
Group By
部门