select department,
concat(round(sum(case when time>9.5 then 1 else 0 end)*1.0/count(*)*100,1),'%') as ratio
from (select staff_id,
timestampdiff(minute,first_clockin,last_clockin)/60 as time
from attendent_tb) att join staff_tb using(staff_id)
group by department
order by ratio desc;

京公网安备 11010502036488号