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

请问一下SQL应该如何优化
有一个表
部门   员工 状态
市场部 张三   0
财务部 李四   1



状态0代表在职,1代表离职

现在需统计每个部门的人数以及在职人数
部门   总人数 在职人数
市场部  10     6
财务部  14     13


请问SQL语句如何写
我知道可以单独写2个SQL,分别统计总人数和在职数然后在合并,请问有没有更简单的方法

------解决方案--------------------

select 部门,
       count(1) '总人数',
       sum(case when 状态=0 then 1 else 0 end) '在职人数'
 from [表名]
 group by 部门