You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何按JOB_NUMBER统计不同RANK人数并在单列展示结果?

解决方案:给每条员工记录添加同职位组内对应职级的总人数

你的需求是按JOB_NUMBER分组,统计该组里每个RANK的总人数,然后把这个统计值单列成RANK_COUNT放在每条员工记录旁边——当前的写法是把不同职级的统计拆成了单独列,还没法对应到每条记录,用窗口函数就能解决这个问题。

修改后的SQL代码

SELECT 
    JOB_NUMBER,
    RANK,
    EMPLOYEE,
    COUNT(*) OVER (PARTITION BY JOB_NUMBER, RANK) AS RANK_COUNT
FROM 
    你的表名; -- 记得替换成实际表名

简单解释

  • PARTITION BY JOB_NUMBER, RANK:把**同一个职位编号(JOB_NUMBER)且同一个职级(RANK)**的员工归为一组
  • COUNT(*) OVER (...):计算每组的员工总数,这个总数会自动附加到该组的每一条员工记录上,正好符合你要在每条记录旁显示对应职级总人数的需求

实际效果示例

假设原始数据是这样:

JOB_NUMBERRANKEMPLOYEE
J001MGR张三
J001MGR李四
J001JR王五
J002JR赵六

执行修改后的SQL会得到:

JOB_NUMBERRANKEMPLOYEERANK_COUNT
J001MGR张三2
J001MGR李四2
J001JR王五1
J002JR赵六1

这样就实现了每条记录旁都显示同职位组内对应职级的总人数,结果也以单列RANK_COUNT展示,完全符合需求。

内容的提问来源于stack exchange,提问作者niallygee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 16:29:57