with
t1 as (
select
at.staff_id,
timestampdiff (second, first_clockin, last_clockin) / 3600 work_time,
department
from
attendent_tb at
left join staff_tb st on at.staff_id = st.staff_id
)
select
department,
concat (
round(
sum(
case
when work_time > 9.5 then 1
else 0
end
) / count(staff_id) * 100,
1
),
'%'
) ratio
from
t1
group by
department
order by
ratio desc


京公网安备 11010502036488号