题解 | #找出每个学校GPA最低的同学#
找出每个学校GPA最低的同学
http://www.nowcoder.com/practice/90778f5ab7d64d35a40dc1095ff79065
思路一: 1.运用窗口函数,每个学校内部排序,得到新的数据集 2.选取每所学校排名最低的同学
select device_id
,university
,gpa
from
(
select device_id
,university
,row_number()over(partition by university order by gpa asc) rk
,gpa
from user_profile
) u
where u.rk = 1
order by university asc
思路二:提前选取每间大学的最低gpa,再用这两个条件来筛选
select device_id
,university
,gpa
from user_profile
where (university,gpa)
in
(
select university,min(gpa) gpa
from user_profile
group by university
)
order by university asc
