stratascratch1-Salaries Differences

stratascratch1-Salaries Differences,第1张

stratascratch1-Salaries Differences

Write a query that calculates the difference between the highest salaries found in the marketing and engineering departments. Output just the absolute difference in salaries.

Tables: db_employee, db_dept

--建表

use strata;

create table db_employee
(
id int
,first_name string
,last_name string
,salary int
,department_id int
)
row format delimited fields terminated by ',';
load data local inpath '/tmp/strata/db_employee.txt' overwrite into table db_employee;

create table db_dept
(
id int
,department string
)
row format delimited fields terminated by ',';
load data local inpath '/tmp/strata/db_dept.txt' overwrite into table db_dept;

--表结构
hive> select * from db_employee limit 5;
OK
db_employee.id  db_employee.first_name  db_employee.last_name   db_employee.salary      db_employee.department_id
10301   Keith   Morgan  27056   2
10302   Tyler   Booth   32199   3
10303   Clifford        Nguyen  32165   2
10304   Mary    Jones   49488   3
10305   Melissa Lucero  27024   3

hive> select * from db_dept;
OK
db_dept.id      db_dept.department
1       engineering
2       human resource
3       operation
4       marketing
5       sales
6       customer care
--结果输出
with t as
(select department_id,max(salary) as max_sal
from db_employee
where department_id in
(select id from db_dept where department regexp 'engineering|marketing')
group by department_id)
select abs(collect_set(max_sal)[0]-collect_set(max_sal)[1]) from t;

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5665449.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存