SELECT
    st.post,
    ROUND(AVG(TIMESTAMPDIFF(second,first_clockin,last_clockin)/3600),3) AS work_hours
FROM staff_tb st
JOIN attendent_tb at USING (staff_id)
WHERE last_clockin IS NOT NULL and first_clockin IS NOT NULL
GROUP BY post
ORDER BY work_hours DESC