select a.device_id,a.university,a.gpa
from
(select device_id,university,gpa,
rank()over(partition by university order by gpa) as rank1
// 为什么不能将列名称命名为rank........
from user_profile) as a
where a.rank1 = 1
//子查询里 按照学校分类,gpa排名由小到大排名;复查询里取各个分类中gpa排名最小的就是最低的gpa
order by university