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

如何在数据表中为同一员工添加显示其下一份工作的列?

如何为员工添加「下一份工作」列

原始数据表

员工编号职位年份
111护理人员2022
111医生2021
111学生2020
222服务员2022
222学生2021
333护士2022

预期结果

员工编号职位年份下一份工作
111护理人员2022last job
111医生2021护理人员
111学生2020医生
222服务员2022last job
222学生2021服务员
333护士2022last job

解决方案

可以使用SQL窗口函数 LEAD() 实现需求,核心逻辑如下:

  • 按员工编号分组,确保只在同一员工的记录内计算
  • 按年份降序排序,让最新的工作排在分组内的最前面
  • 用 LEAD() 抓取当前行的下一行职位,若当前是该员工的最新工作(无下一行),则显示 'last job'

示例SQL语句:

SELECT 
    `employee number`,
    job,
    year,
    COALESCE(LEAD(job) OVER (PARTITION BY `employee number` ORDER BY year DESC), 'last job') AS `next job`
FROM 
    your_table_name;

细节说明

  • LEAD(job) OVER (...):在分组内按年份降序排列后,获取当前行的下一行职位值
  • COALESCE(..., 'last job'):当LEAD()返回NULL(即当前是该员工的最新工作)时,将结果替换为'last job'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 06:40:53