select device_id,university,gpa from ( select device_id,university,gpa,rank() over(partition by university order by gpa) as ranking from user_profile ) as a where a.ranking =1 通过窗口函数排序之后找出位列第一的即可,不考虑多个人相同的gpa可以用row_number函数。