select device_id, university, gpa from ( select device_id, university, gpa, row_number() over(partition by university order by gpa asc) as rn from user_profile ) t where t.rn=1; 用窗口函数partition by university order by gpa asc 根据university分组再根据gpa升序排列,然后再取第一名就是gpa最低的同学