**题解 | #找出每个学校GPA最低的同学#窗口函数

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

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

# 这个题用到了窗口函数
select device_id,university,gpa 
from (select * ,
    row_number() over(partition by university order by gpa) as ranking 
    from user_profile
) as user
where user.ranking=1;



# 窗口函数
# 什么是窗口函数?
# 简而言之是一种用来生在分组中进行分析处理的函数
# 语法结构如下

# <窗口函数>() over (partition by <用于分组的字段> order by <用于排序的字段>)
# <窗口函数>的位置可以放两种函数
#  专用窗口函数rank, dense_rank, row_number 等等
# 聚合函数, 如sum, avg, count, max, min 等等


# 附录:TopN问题的模板

# SELECT *
# FROM (SELECT*,row_number() over (PARTITION BY 姓名 ORDER BY 成绩 DESC) AS ranking 
#  FROM test1) AS newtest
#  WHERE ranking<=N;





SQL错题 文章被收录于专栏

每天学习一遍 刷题刷题 越刷越强!

全部评论

相关推荐

点赞 评论 收藏
分享
11-01 20:03
已编辑
门头沟学院 算法工程师
Amazarashi66:这种也是幸存者偏差了,拿不到这个价的才是大多数
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务