SQL 刷题/【字节跳动】统计上半年员工项目绩效排名
上一题下一题中等通过率 12%

【字节跳动】统计上半年员工项目绩效排名

JOIN 连接聚合函数GROUP BY窗口函数日期函数ORDER BY用户行为分析排行榜面试真题

题目描述

来源:字节跳动 SQL 面试真题

公司需要分析员工在不同项目中的绩效情况,统计每位员工 2024 年上半年的项目绩效总评分,并计算其在项目内的绩效排名。

数据表

employees 员工表

字段类型说明
employee_idINT员工 ID,主键
employee_nameVARCHAR(100)员工姓名
departmentVARCHAR(100)员工所属部门

projects 项目表

字段类型说明
project_idINT项目 ID,主键
project_nameVARCHAR(100)项目名称
start_dateDATE项目开始日期

performance 绩效表

字段类型说明
performance_idBIGINT绩效记录 ID,主键
employee_idINT员工 ID
project_idINT项目 ID
performance_scoreDECIMAL(10,2)员工在项目中的绩效评分

统计口径

  • performance 表没有绩效日期,因此使用项目 start_date 作为时间锚点。
  • 2024 年上半年范围为 [2024-01-01, 2024-07-01),即项目开始日期在 2024 年 1 月 1 日至 6 月 30 日。
  • 同一员工在同一项目存在多条绩效记录时,先将 performance_score 求和。
  • 使用 RANK() 按项目内绩效总评分降序排名,评分相同时并列;最终展示时同排名按 employee_id 升序。
  • project_group 返回项目名称,department 返回员工所属部门。

期望输出列

列名说明
employee_id员工 ID
employee_name员工姓名
first_half_2024_score2024 年上半年绩效总评分
project_group_rank项目内绩效排名
department所属部门
project_group项目名称

数据样例

当前运行环境
employee_idPKINTemployee_nameVARCHAR(100)departmentVARCHAR(100)
1Alice技术部
2Bob技术部
3Carol数据部
4David数据部
5Eve产品部
输入数据显示 5 / 5
SQL 编辑器正在保存草稿...
正在加载 SQL 编辑器...

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