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,小时为浮点数, 更精确