使用Impala显示与记录关联的所有字段

时间:2015-11-24 06:55:49

标签: hadoop hive impala

假设我有一个学生表,其中包含 impala 中的一些字段。想象一下,有一个名为 total_mark 的字段,我应该找到每个分支带有最大分数的学生详细信息。

我的表是这样的: -

Student table

在此表中,我必须获得每个部门最高分的 详细信息 。 我的查询将是这样的: -

select id,max(total_marks) from student_details group by department;

但是使用这个查询我只能得到id和total_marks。如果可以有同名学生,年龄我不能与年龄,姓名等字段分组。

那么如何查询表格以获取每个部门的顶尖学生的所有细节?

提前致谢。

1 个答案:

答案 0 :(得分:4)

您可以使用JOIN概念

select stu.* 
from student_details stu 
join 
(  select department,max(total_marks) as max 
   from student_details 
   group by department
) rank 
on stu.department=rank.department and stu.total_marks=rank.max;