select
sf.department,
round(avg(sy.normal_salary - sy.dock_salary), 2) as average_actual_salary,
ifnull(round(avg(if(sf.staff_gender='male',sy.normal_salary - sy.dock_salary,null)),2),0.00) as average_actual_salary_male,
ifnull(round(avg(if(sf.staff_gender='female',sy.normal_salary - sy.dock_salary,null)),2),0.00) as average_actual_salary_female
from staff_tb sf
join salary_tb sy on sf.staff_id = sy.staff_id
group by department
order by average_actual_salary desc
| 只对男性员工计算 (即不参与平均值计算) |
| 计算上述结果的平均值(只会对非 NULL 项生效) |
| 保留两位小数 |
| 如果结果为 |

京公网安备 11010502036488号