**题解 | #找出每个学校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错题 文章被收录于专栏
每天学习一遍 刷题刷题 越刷越强!

