with a as(
    select *,row_number()over(partition by university order by gpa) rk
    from user_profile
)
select device_id,university,gpa
from a 
where rk=1

用排名窗口函数加了一列做过滤。