select post,round(avg(timestampdiff(minute,a.first_clockin,a.last_clockin))/60,3) as work_hours
from staff_tb s join attendent_tb a on s.staff_id = a.staff_id
group by s.post	
order by work_hours desc