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

Display all the fields associated with the record using Impala

假设,我有一个 学生 table,在 impala 中有一些字段。假设有一个名为 total_mark 的字段,我应该从每个分支中找到得分最高的学生详细信息。

我的table是这样的:-

在这个table中,我必须从每个部门获取最高分学生的详细信息。 我的查询将是这样的:-

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

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

那么我应该如何查询 table 以获取每个部门的优等生的所有详细信息??

提前致谢。

您可以使用 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;