SQL 刷题/【阿里巴巴】筛选各类试卷突出员工
上一题下一题中等通过率 0%

【阿里巴巴】筛选各类试卷突出员工

WHERE 条件JOIN 连接GROUP BY窗口函数日期函数ORDER BY标签画像面试真题

题目描述

来源:阿里巴巴 SQL 面试真题

某公司组织员工年终考核。对于每类试卷,作答用时严格少于该类别平均作答用时,并且个人得分严格高于该类别总体平均分的员工,记为该类别的突出员工。

数据表

emp_info 员工信息表

字段类型说明
emp_idBIGINT员工 ID,主键
emp_nameVARCHAR员工姓名
emp_levelINT员工等级,小于 7 为普通员工,其余为领导
register_timeDATETIME入职时间

examination_info 考核试卷信息表

字段类型说明
exam_idBIGINT试卷 ID,主键
tagVARCHAR试卷类别
durationINT试卷规定时长,单位分钟
release_timeDATETIME发布时间

exam_record 试卷作答记录表

字段类型说明
emp_idBIGINT员工 ID
exam_idBIGINT试卷 ID
start_timeDATETIME开始作答时间
submit_timeDATETIME交卷时间
scoreDECIMAL得分

突出员工口径

  • 作答用时按 submit_time - start_time 计算。
  • 平均作答用时和平均分均按试卷类别 tag 统计,所有有效作答记录都参与均值计算。
  • 突出员工必须同时满足:作答用时严格小于类别平均值,且得分严格大于类别平均值。
  • 只输出 emp_level < 7 的非领导员工。
  • 同一员工在同一类别有多条突出记录时,该类别只输出一次。

题目要求

  • 输出员工 ID、员工等级和突出试卷类别。
  • 按员工 ID 升序排列。
  • 同一员工有多个突出类别时,按对应试卷 ID 升序排列。

期望输出列

列名说明
emp_id员工 ID
emp_level员工等级
tag突出试卷类别

数据样例

当前运行环境
emp_idPKBIGINTemp_nameVARCHAR(50)emp_levelINTregister_timeDATETIME
1Alice52020-03-01 09:00:00
2Bob62020-06-15 09:00:00
3Carol42021-01-10 09:00:00
4David72018-05-20 09:00:00
5Eve32021-08-01 09:00:00
输入数据显示 5 / 5
SQL 编辑器正在保存草稿...
正在加载 SQL 编辑器...

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