select
    s.post as post,
    round(avg(timestampdiff(second,first_clockin,last_clockin ) / 3600),3) as work_hours
from
    staff_tb s,
    attendent_tb a
where
    s.staff_id = a.staff_id
group by
    s.post
order by
    work_hours desc