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

如何查询员工在特定合同下的重新聘用周期?

查询员工重新聘用周期的SQL语句

假设你的数据表名为project_managers,包含字段:emp_id(员工ID)、contract_id(合同ID)、hire_period(聘用周期)。

实现思路

通过窗口函数ROW_NUMBER()按员工ID和合同ID分组,对聘用周期排序,标记同一员工在同一合同下的聘用次数。筛选出排序值大于1的记录,即为该员工在对应合同下的重新聘用记录,返回对应的聘用周期。

查询语句

SELECT emp_id, contract_id, hire_period AS rehire_period
FROM (
    SELECT 
        emp_id,
        contract_id,
        hire_period,
        ROW_NUMBER() OVER (PARTITION BY emp_id, contract_id ORDER BY hire_period) AS hire_seq
    FROM project_managers
) t
WHERE hire_seq > 1;

说明

  • PARTITION BY emp_id, contract_id:按员工和合同分组,确保仅统计同一员工在同一合同下的聘用次数。
  • ORDER BY hire_period:按聘用周期排序,保证第一次聘用标记为hire_seq=1,后续重新聘用的序号依次递增。
  • 外层查询筛选hire_seq > 1的记录,即可得到所有重新聘用的周期。针对示例中的员工1,会返回其对应合同下的202209周期。

内容的提问来源于stack exchange,提问作者Ramya B S

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 21:10:28