首页 > 科技 >

💻 SQL计算上班总时长 | 每日首次打卡为准

发布时间:2025-03-24 12:40:12来源:

忙碌的工作日里,如何精准统计每个人的上班时长?今天来分享一个实用的小技巧!🌟

假设你有一份打卡记录表,包含员工ID、打卡日期、打卡时间和打卡类型(上班/下班)。我们可以通过SQL语句,以每天的首次上下班打卡时间为基准,轻松计算出每位员工的每日工作时长。👇

首先,我们需要筛选出每个人的每日首次打卡记录:

```sql

SELECT employee_id, DATE(record_time) AS date,

MIN(CASE WHEN type = '上班' THEN record_time END) AS start_time,

MAX(CASE WHEN type = '下班' THEN record_time END) AS end_time

FROM attendance_records

GROUP BY employee_id, DATE(record_time);

```

接着,利用`TIMESTAMPDIFF`函数计算时长:

```sql

SELECT DATEDIFF(end_time, start_time) AS total_hours

FROM (

-- 上述查询结果

) AS daily_records;

```

通过这两步操作,你就能获得每位员工每天的精准上班时长啦!⏰

💡 小贴士:记得检查数据完整性,避免因异常打卡导致误差哦!💪

🌟 职场效率提升神器,快来试试吧!

免责声明:本答案或内容为用户上传,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 如遇侵权请及时联系本站删除。