SQL 刷题/【滴滴】更新员工最新职位信息
上一题下一题中等通过率 38%

【滴滴】更新员工最新职位信息

JOIN 连接窗口函数CASE WHENORDER BY用户行为分析面试真题

题目描述

来源:滴滴 SQL 面试真题

员工基础信息表 EMPLOYEE_INFO 记录员工现有职位和最后更新时间,员工信息更新表 EMPLOYEE_UPDATE 记录历史职位更新。请结合两张表输出每个员工最新的职位信息和更新时间。

数据表

EMPLOYEE_INFO

字段说明
EMPLOYEE_ID员工编号,主键
POSITION员工职位
LAST_UPDATE_DT最后一次职位信息更新时间

EMPLOYEE_UPDATE

字段说明
EMPLOYEE_ID员工编号
UPDATE_DT更新时间
NEW_POSITION员工新职位

处理规则

  • 先在 EMPLOYEE_UPDATE 中找到每个员工最晚的 UPDATE_DT 记录。
  • 如果该时间严格晚于 EMPLOYEE_INFO.LAST_UPDATE_DT,使用 NEW_POSITIONUPDATE_DT 覆盖原信息。
  • 如果更新时间早于或等于基础信息时间,保留原职位和更新时间。
  • 更新时间相同时按 NEW_POSITION 升序稳定选择,结果按 EMPLOYEE_ID 升序排列。

期望输出列

列名说明
EMPLOYEE_ID员工编号
POSITION最新职位
LAST_UPDATE_DT最新更新时间

数据样例

当前运行环境
EMPLOYEE_IDPKBIGINTPOSITIONVARCHAR(100)LAST_UPDATE_DTDATETIME
1001Engineer2024-01-10 09:00:00
1002Analyst2024-02-01 09:00:00
1003Manager2024-03-15 09:00:00
1004Designer2024-04-20 09:00:00
1005Developer2024-05-01 09:00:00
输入数据显示 5 / 5
SQL 编辑器正在保存草稿...
正在加载 SQL 编辑器...

运行你的 SQL 查询后,结果将显示在这里