SELECT
    s.post,
    ROUND(
        AVG(TIMESTAMPDIFF(SECOND,first_clockin,last_clockin)) / 3600
        ,3) AS work_hours
FROM attendent_tb AS a
INNER JOIN staff_tb AS s
    ON (a.staff_id = s.staff_id)
WHERE first_clockin	IS NOT NULL
    AND last_clockin IS NOT NULL
GROUP BY s.post
ORDER BY work_hours DESC;