mysql题解 | 统计各岗位员工平均工作时长

统计各岗位员工平均工作时长

https://www.nowcoder.com/practice/b7220791a95a4cd092801069aefa1cae


-- 思路
-- 先统计每个人的工作时长,然后做表连接。 3600秒等于1小时

WITH t AS(
    SELECT 
        staff_id
        ,ROUND(TIMESTAMPDIFF(SECOND, first_clockin, last_clockin)/3600, 3) AS t_diff
    FROM attendent_tb
)
-- t表的数据格式:
-- staff_id|t_diff|
-- --------+------+
--        1| 9.000|
--        2| 9.500|
--        3| 8.250|

SELECT 
    s.post
    ,AVG(t_diff) AS work_hours
FROM staff_tb s
    INNER JOIN t ON s.staff_id = t.staff_id
WHERE t.t_diff IS NOT NULL
GROUP BY s.post
ORDER BY work_hours DESC
;

END

全部评论

相关推荐

点赞 评论 收藏
分享
湫湫湫不会java:先投着吧,大概率找不到实习,没实习的时候再加个项目,然后把个人评价和荣誉奖项删了,赶紧成为八股战神吧,没实习没学历,秋招机会估计不多,把握机会。或者说秋招时间去冲实习,春招冲offer,但是压力会比较大
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务