题解 | #找出每个学校GPA最低的同学#

找出每个学校GPA最低的同学

https://www.nowcoder.com/practice/90778f5ab7d64d35a40dc1095ff79065

利用窗口函数来做
代码如下

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

解析
1、利用rank()over()对gpa分组升序排序
得到表格如下
moji
以学校为组,给该校的gpa赋予排名

2、将有排名的表格作为数据源
对有排名的的表格进一步筛选,将排名为1的整行数据取出来(升序排序,小的在前面)

#sql#
全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务