题解 | 各个部门实际平均薪资和男女员工实际平均薪资

各个部门实际平均薪资和男女员工实际平均薪资

https://www.nowcoder.com/practice/e8272685d07347cc88667f31f7989231

SELECT 
    department,
    ROUND(AVG(normal_salary - dock_salary), 2) AS average_actual_salary,
	#计算所有员工的平均实际工资
   ROUND(COALESCE(AVG(CASE WHEN staff_gender = 'male' THEN normal_salary - dock_salary END), 0), 2) AS average_actual_salary_male,
	#迭代表筛选出所有staff_gender为male的行,计算出行对应的实际工资,然后对所有行求平均。若为空值则返回0。
    ROUND(COALESCE(AVG(CASE WHEN staff_gender = 'female' THEN normal_salary - dock_salary END), 0), 2) AS average_actual_salary_female
	#迭代表筛选出所有staff_gender为female的行,计算出行对应的实际工资,然后对所有行求平均。若为空值则返回0。
FROM 
    salary_tb
    JOIN staff_tb USING(staff_id)
GROUP BY 
    department
ORDER BY 
    average_actual_salary DESC

全部评论

相关推荐

评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务