select department, concat(round(count(a.staff_id) / count(stb.staff_id) * 100,1),'%') as ratio from staff_tb as stb left join ( select * from attendent_tb where timestampdiff(second,first_clockin,last_clockin) / 3600 > 9.5 )a on stb.staff_id = a.staff_id group by stb.department order by ratio desc