select post, format(avg(time_to_sec(timediff(last_clockin,first_clockin))/3600),3) as work_hours
from staff_tb st
left join attendent_tb at 
on st.staff_id=at.staff_id
group by post
order by work_hours desc

1、计算两个日期之间的时间差:timediff(date1, date2)

输入:date1,date2

输出:date1和date2之间的小时差,例如:25:30:00,即25小时30秒0毫秒,和date1和date2顺序无关

2、date转秒数: time_to_sec(date)

输入:date

输出:秒数数值

tip: 对于timediff得到的值,可以先使用time_to_sec转化为秒数,再除以3600,即小时