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