with t1 as-- 求出 部门-性别 下的实发工资
(select
staff_gender,
normal_salary-dock_salary as actual_salary,
department
from staff_tb st
join salary_tb sa on sa.staff_id=st.staff_id)
select
department,
round(avg(actual_salary),2) as average_actual_salary,
ifnull(round(avg(if(staff_gender='male',actual_salary,null)),2),0.00) as average_actual_salary_male,
ifnull(round(avg(if(staff_gender='female',actual_salary,null)),2),0.00) as average_actual_salary_female
from
t1
group by department
order by average_actual_salary desc;