select
t.device_id,
t.university,
t.gpa
from(
select  
device_id,
university,
gpa,
dense_rank()over(partition by university order by gpa asc) as m 
from user_profile
) as t 
where
t.m=1