SELECT S.post, ROUND(AVG(TIMESTAMPDIFF(minute, A.first_clockin, A.last_clockin)/60), 3) AS work_hours FROM staff_tb S INNER JOIN attendent_tb A ON A.staff_id = S.staff_id WHERE A.first_clockin IS NOT NULL AND A.last_clockin IS NOT NULL GROUP BY S.post ORDER BY work_hours DESC
先按分钟计算(保留完整精度),再转小时,最后取平均+四舍五入
如果直接按小时算,后面的分钟会忽略 数据不准确



京公网安备 11010502036488号