💻 SQL计算上班总时长 | 每日首次打卡为准
2025-03-24 12:40:12
•
来源:
导读 忙碌的工作日里,如何精准统计每个人的上班时长?今天来分享一个实用的小技巧!🌟假设你有一份打卡记录表,包含员工ID、打卡日期、打卡时间...
忙碌的工作日里,如何精准统计每个人的上班时长?今天来分享一个实用的小技巧!🌟
假设你有一份打卡记录表,包含员工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;
```
通过这两步操作,你就能获得每位员工每天的精准上班时长啦!⏰
💡 小贴士:记得检查数据完整性,避免因异常打卡导致误差哦!💪
🌟 职场效率提升神器,快来试试吧!
免责声明:本文由用户上传,如有侵权请联系删除!