假设我有一个学生表,在 impala 中有一些字段。想象有一个名为 total_mark 的字段,我应该从每个分支中找到具有最大分数的学生详细信息。
我的桌子是这样的:
在此表中,我必须从每个部门中获得分数最高的学生的详细信息。
我的查询将是这样的:
但是使用此查询,我只能获取id和total_marks。如果可以有同名的学生,我不能将年龄,姓名等字段分组。select id,max(total_marks) from student_details group by department;
因此,我应该如何查询表格以获取每个部门的顶尖学生的所有详细信息?
提前致谢。
最佳答案
您可以利用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;
关于hadoop - 使用Impala显示与记录关联的所有字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33887222/