Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 如何获得工资高于蜂巢部门平均工资的emp姓名_Hadoop_Hiveql - Fatal编程技术网

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中编写查询。