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

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

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

-- join法
select
b.device_id,a.university,a.min_gpa
from (SELECT university,min(gpa) min_gpa from user_profile group by university) a
left join user_profile b on a.university=b.university and a.min_gpa = b.gpa order by university;
-- in法
select device_id,university,gpa 
from user_profile 
where (university,gpa) in (SELECT university,min(gpa) min_gpa from user_profile group by university) order by university;
-- 开窗大法
SELECT device_id, university, min_gpa
FROM (
    SELECT device_id, university, gpa,
           MIN(gpa) OVER (PARTITION BY university ORDER BY university) AS min_gpa
    FROM user_profile
) AS subquery
WHERE gpa = min_gpa;

join最慢,in和开窗差不多

全部评论

相关推荐

不愿透露姓名的神秘牛友
06-20 14:14
点赞 评论 收藏
分享
收到了小米的实习offer,犹豫是否要去。。。
认真搞学习:雷总还当过首富呢,公司不算大厂算独角兽吗
点赞 评论 收藏
分享
鬼迹人途:你去投一投尚游游戏,服务器一面,第一个图算法,做完了给你一个策略题,你给出方案他就提出低概率问题,答不上当场给你挂
点赞 评论 收藏
分享
面了这么多场试,总有公司总喜欢压力面一个小时面试+手撕,哪里不会就点哪里,说了不会不会还继续追着问不尊重求职者,稍微有些细节记不清了,就开始怀疑项目真实性以及人格让求职者开摄像头但是自己不开,说话声音还贼小,pardon几次就开始不耐烦的不知道这个算不算,手撕的时候,面试官人跑了。。。最后快结束才来
一纸丿繁华丶:你换位思考一下,自己在职场被领导push麻了,身心俱疲,现在有个机会让你放松一下,体验一把上位者的感觉,还能看着那些高学历人才、未来自己的竞争者,抓耳挠腮、手足无措的样子,没给你当场笑出来就不错了,理解一下面试官吧。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务