代码拉取完成,页面将自动刷新
# $615. 平均工资:部门与公司比较
# https://leetcode-cn.com/problems/average-salary-departments-vs-company/
# SQL架构
Create table If Not Exists Salary (id int, employee_id int, amount int, pay_date date);
Create table If Not Exists Employee (employee_id int, department_id int);
Truncate table Salary;
insert into Salary (id, employee_id, amount, pay_date) values ('1', '1', '9000', '2017/03/31');
insert into Salary (id, employee_id, amount, pay_date) values ('2', '2', '6000', '2017/03/31');
insert into Salary (id, employee_id, amount, pay_date) values ('3', '3', '10000', '2017/03/31');
insert into Salary (id, employee_id, amount, pay_date) values ('4', '1', '7000', '2017/02/28');
insert into Salary (id, employee_id, amount, pay_date) values ('5', '2', '6000', '2017/02/28');
insert into Salary (id, employee_id, amount, pay_date) values ('6', '3', '8000', '2017/02/28');
Truncate table Employee;
insert into Employee (employee_id, department_id) values ('1', '1');
insert into Employee (employee_id, department_id) values ('2', '2');
insert into Employee (employee_id, department_id) values ('3', '2');
# Write your MySQL query statement below
select
department_salary.pay_month,
department_id,
case
when department_avg > company_avg then 'higher'
when department_avg < company_avg then 'lower'
else 'same'
end as comparison
from
(
select
department_id,
avg(amount) as department_avg,
date_format(pay_date, '%Y-%m') as pay_month
from
Salary s
join Employee e on s.employee_id = e.employee_id
group by
department_id,
pay_month
) department_salary
join (
select
avg(amount) as company_avg,
date_format(pay_date, '%Y-%m') as pay_month
from
Salary
group by
date_format(pay_date, '%Y-%m')
) company_salary on department_salary.pay_month = company_salary.pay_month;
# clean-up
drop table Salary;
drop table Employee;
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。