题解 | #考试分数(三)#

考试分数(三)

http://www.nowcoder.com/practice/b83f8b0e7e934d95a56c24f047260d91

1.内连接+dense_rank() over(...)窗口函数
select id,name,score
from (select t1.*,t2.name,dense_rank() over(partition by t1.language_id order by t1.score desc) rk
from grade t1 join language t2 on t1.language_id=t2.id ) t
where rk in (1,2)
order by name asc,score desc,id asc;

2.关联子查询
select t1.id,t2.name,score
from grade t1,language t2
where t1.language_id=t2.id
and 2>=(select count(distinct t3.score) from grade t3 where t1.language_id=t3.language_id and t1.score<=t3.score)
order by name asc,score desc,id asc;

全部评论

相关推荐

12-22 16:31
已编辑
桂林电子科技大学 Python
很奥的前端仔:如果你接了offer 临时又说不去 hr确实要多做一些工作。 当然如果是接offer之前当我没说
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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