Hadoop 如何获得工资高于蜂巢部门平均工资的emp姓名
需要查找工资高于整个部门平均工资的员工姓名。使用蜂箱。尝试以下方法:Hadoop 如何获得工资高于蜂巢部门平均工资的emp姓名,hadoop,hiveql,Hadoop,Hiveql,需要查找工资高于整个部门平均工资的员工姓名。使用蜂箱。尝试以下方法: Dept_id Emp_name Sal 1 amit 2500 2 neha 3600 3 ankit 4500 试试这个: Dept_id Emp_name Sal 1 amit 2500 2 neha 3600 3 ankit 4500 你的蜂巢版本是什么 在Hive
Dept_id Emp_name Sal
1 amit 2500
2 neha 3600
3 ankit 4500
试试这个:
Dept_id Emp_name Sal
1 amit 2500
2 neha 3600
3 ankit 4500
你的蜂巢版本是什么 在Hive13.0版本中,这是可能的。请参阅下面的链接
您的蜂巢版本是什么 在Hive13.0版本中,这是可能的。请参阅下面的链接
在配置单元查询下方尝试
$sql = "select e.Emp_name from Employee e where e.sal> (select avg(sal) from Employee where dept_id = e.dept_id group by dept_id)";
请在配置单元查询下面尝试
$sql = "select e.Emp_name from Employee e where e.sal> (select avg(sal) from Employee where dept_id = e.dept_id group by dept_id)";
基本上,您正在寻找的是子查询,就像gopi建议的那样。 试试这个
SELECT e.Emp_name FROM Employee e WHERE e.Sal > (SELECT AVG(Sal) from Employee WHERE Dept_id = e.Dept_id GROUP BY Dept_id);
输入
SELECT *
FROM Employee e
WHERE e.Sal >
(
SELECT AVG(Sal)
from Employee
GROUP BY Dept_id
Having Dept_id = e.Dept_id
);
输出
1 amit 2500
1 neha 3600
1 ankit 4500
基本上,您正在寻找的是子查询,就像gopi建议的那样。 试试这个
SELECT e.Emp_name FROM Employee e WHERE e.Sal > (SELECT AVG(Sal) from Employee WHERE Dept_id = e.Dept_id GROUP BY Dept_id);
输入
SELECT *
FROM Employee e
WHERE e.Sal >
(
SELECT AVG(Sal)
from Employee
GROUP BY Dept_id
Having Dept_id = e.Dept_id
);
输出
1 amit 2500
1 neha 3600
1 ankit 4500
配置单元在使用子查询时有限制。。。。我们可以使用以下查询解决您的问题。。。根据您的表更改列名 选择*
从employee s JOIN中选择s2.deptid deptid,avgs2.salary sal,通过s.deptid=s3.deptid上的deptid s3从employee s2组中选择,其中s.sal>s3.sal 配置单元在使用子查询时有限制。。。。我们可以使用以下查询解决您的问题。。。根据您的表更改列名 选择*
从employee s JOIN中选择s2.deptid deptid,avgs2.salary sal,通过s.deptid=s3.deptid上的deptid s3从employee s2组中选择,其中s.sal>s3.sal 嗨。谢谢,但我需要在配置单元中编写查询,而不是在RDBMS.Hi中。谢谢,但我需要在配置单元中而不是在RDBMS中编写查询。