题解 | #找出每个学校GPA最低的同学#
找出每个学校GPA最低的同学
http://www.nowcoder.com/practice/90778f5ab7d64d35a40dc1095ff79065
-
考点:窗口函数的用法
-
相关知识: 图源自《SQL基础教程》第8章
-
思路:
- 建立一个子查询,按照学校分组,在每个组内对gpa进行升序排名
- 将该子查询的结果作为一个整体,选出每组gpa的最后一名(即 ranking = 1)
具体代码:
SELECT device_id, university, gpa
FROM (SELECT device_id, university, gpa,
RANK() OVER (PARTITION BY university
ORDER BY gpa) AS ranking
FROM user_profile) AS g
WHERE ranking = 1;

