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