select 	post,
# 用timestampdiff(minute,first_clockin,last_clockin)来计算初始时间和截止时间间隔多少分钟
# 然后除以60转换单位为小时,再求平均保留小数位数,并且排除初始、截止时间为null的情况
round(avg(timestampdiff(minute,first_clockin,last_clockin)/60),3) as work_hours
from attendent_tb  a join staff_tb s on a.staff_id=s.staff_id
where first_clockin is not null and last_clockin is not null
group by post
order by work_hours desc