现有职员信息表xemp_entry, 想统计出如下结果:
部门  上年人数  新进职员  离职职员  调职职员  现有人数我这种做法对吗?
select 部门,
count (*) as 上年人数,count (*) as 离职职员,count (*) as 新进职员,count (*) as 调职职员,count (*) as 现有职员
from xemp_entry where 入职日期>'2006-01-01' and 入职日期<'2007-01-01'
group by 部门
麻烦请各位朋友帮帮忙,我不是很熟SQL

解决方案 »

  1.   

    --试试
    select 部门,
    sum (*) as 上年人数,sum (*) as 离职职员,sum (*) as 新进职员,sum (*) as 调职职员,sum (*) as 现有职员
    from xemp_entry where 入职日期 between '2006-01-01' and '2007-01-01'
    group by 部门
      

  2.   

    select 部门,上年人数=sum(case when 职工状态='新进职员' then 1 end) from xemp_entry where 入职日期>'2006-01-01' and 入职日期<'2007-01-01'
    group by 部门--类似这样
      

  3.   

    count 是求记录数,sum是才是求数量
    日期条件用 between ×× and ××
      

  4.   

    把职员信息表xemp_entry 的表结构贴出来
      

  5.   

    mengmou 你好,
    select 部门,
    sum (*) as 上年人数,sum (*) as 离职职员,sum (*) as 新进职员,sum (*) as 调职职员,sum (*) as 现有职员
    from xemp_entry where 入职日期 between '2006-01-01' and '2007-01-01'
    group by 部门在表中没有“上年人数”“离职职员”之类的列,这些列都是跟据表中的“入职日期”“离职日期”“在职状态”统计出来后我另命名的
      

  6.   

    把职员信息表xemp_entry 的表结构贴出来