题解 | #找出每个学校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) rk from user_profile # ) a # where a.rk = 1 #先得到表1,表1为根据学校进行分区后得到每个学校排名的表,之后获取第一名,即得到答案 SELECT a.device_id,a.university,a.gpa FROM user_profile a JOIN (SELECT university,min(gpa) gpa FROM user_profile GROUP BY university) b on a.university=b.university and a.gpa=b.gpa ORDER BY university; #表a为原表,表b为每个学校里gpa分数最低的,连接起来即得到答案 SELECT university,min(gpa) gpa FROM user_profile GROUP BY university #与上一个是同样的思路