SELECT
st.department,
CONCAT (
ROUND(
SUM(
CASE
WHEN TIMESTAMPDIFF (MINUTE, at.first_clockin, at.last_clockin)/60 > 9.5 THEN 1
ELSE 0
END
) / COUNT(st.staff_id) * 100,
1
),
'%'
) AS ratio
FROM
staff_tb st
JOIN attendent_tb at ON st.staff_id = at.staff_id
GROUP BY
st.department
ORDER BY
ratio DESC
TIMESTAMPDIFF(HOUR, ...),小时为整数; TIMESTAMPDIFF(MINUTE, ...) / 60.0,小时为浮点数, 更精确

京公网安备 11010502036488号