select
department,
concat(
round(
count(distinct IF(work_time > 9.5, staff_id, NULL)) / count(distinct staff_id) * 100,
1
),
"%"
) as ratio
from
(
select
staff_id,
department
from
staff_tb
) t1
left join (
select
staff_id,
round(
timestampdiff(minute, first_clockin, last_clockin) / 60,
1
) as work_time
from
attendent_tb
) t2 using (staff_id)
group by
department
order by ratio desc



京公网安备 11010502036488号