给出了入离职的时间。计算出每个月的在职人数

根据入离职时间,计算每个月在职人数使用sql

Sqlserver

Peihowe 发布于 2020-11-8 18:03
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
yiyemeiyingLv4高级互助
发布于2020-11-9 10:14

如果是单独算每个月的【入职人数】或【离职人数】,直接分组求个数就行;

但现在计算每个月的【在职人数】,逻辑上稍微复杂那么一点点;

=======

第一步:找一个时间码表,包含一个时间字段t_k[yyyy-MM]格式;


第二步:用时间码表做主表,数据表与之left join 关联;


关联条件:on 入职时间[年月] <= t_k and (离职时间[年月] >= t_k or 离职时间 is null)  -- 重点


第三步:将关联后的结果 group by t_k 求count(*)即可;

=======

收工……

  • 2关注人数
  • 3068浏览人数
  • 最后回答于:2020-11-9 10:14
    请选择关闭问题的原因
    确定 取消
    返回顶部