SQL 刷题/【携程】统计各部门加班员工占比
上一题下一题中等通过率 0%

【携程】统计各部门加班员工占比

JOIN 连接聚合函数GROUP BY日期函数字符串函数用户行为分析面试真题

题目描述

来源:携程 SQL 面试真题

某公司需要根据员工信息和单日出勤记录,统计各部门加班员工所占比例。

数据表

staff_tb 员工信息表

字段类型说明
staff_idBIGINT员工 ID
staff_nameVARCHAR员工姓名
staff_genderVARCHAR员工性别
postVARCHAR员工岗位类别
departmentVARCHAR员工所在部门

attendent_tb 出勤信息表

字段类型说明
info_idBIGINT出勤信息 ID
staff_idBIGINT员工 ID
first_clockinDATETIME上班打卡时间
last_clockinDATETIME下班打卡时间

题目要求

  • 工作时长严格大于 9.5 小时的员工定义为加班员工,恰好 9.5 小时不算加班。
  • 加班员工占比 = 部门加班员工数 / 部门员工总数。
  • 输出部门和加班员工占比,比例以百分数形式展示并四舍五入保留 1 位小数。
  • 没有加班员工的部门也必须输出,占比为 0.0%。
  • 按加班员工占比降序排列;占比相同时按部门升序排列。

期望输出列

列名说明
department员工所在部门
ratio部门加班员工占比

数据样例

当前运行环境
staff_idPKBIGINTstaff_nameVARCHAR(50)staff_genderVARCHAR(10)postVARCHAR(50)departmentVARCHAR(50)
1AngusmaleFinancialdep1
2CathyfemaleDirectordep1
3AldisfemaleDirectordep2
4LawsonmaleEngineerdep1
5CarlmaleEngineerdep2
6BenmaleEngineerdep1
7RosefemaleFinancialdep2
输入数据显示 7 / 7
SQL 编辑器正在保存草稿...
正在加载 SQL 编辑器...

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