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

考试分数(三)

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

# 取出每个岗位id分数排名前二的用户,使用dense_rank()
select id, language_id, score
from (
    select *, dense_rank()over(partition by language_id order by score desc) rank_s
    from grade
) t1
where rank_s in (1, 2)
# 连接上表和language表,获取name字段
select t2.id, name, score
from (
    select id, language_id, score
    from (
        select *, dense_rank()over(partition by language_id order by score desc) rank_s
        from grade
    ) t1
    where rank_s in (1, 2)
) t2
join language l
on t2.language_id = l.id
order by name, score desc;

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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