select s.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
TIMESTAMPDIFF(minute, a.first_clockin, a.last_clockin)/60)