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

考试分数(三)

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

with t1 as (
    select a.id, b.name, a.score
    from grade as a
    left join language as b
    on a.language_id = b.id
),
# 按照name进行分组,然后按照score降序进行排序
t2 as (
    select id, name, score,
    Dense_rank() over (PARTITION BY name ORDER BY score DESC) as score_rank
    from t1
)
select id, name, score
from t2
where score_rank <= 2
order by name, score desc, id;

全部评论
考察分组排序的窗口函数,Dense_rank是相同分数同一个排名,不跳位
点赞 回复 分享
发布于 2023-08-17 13:56 江苏

相关推荐

06-13 15:45
辽宁大学 golang
咱就是说&nbsp;你不主动&nbsp;我也不会主动下一步hhh,急死了
恶龙战士:不建议把这种帖子发到牛客上,建议去小红书发
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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