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

考试分数(三)

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

select t.id, t.name, t.score from
(select g.id, l.name, g.score,
dense_rank() over(partition by language_id order by score desc) as rank_1 from grade g
left join language l on l.id = g.language_id
) t
where t.rank_1 in (1, 2)
order by t.name asc, t.score desc

先分类重复排序,将组内排名标出来。
后将排名1、2的拎出来。
后按 name、 grade 排序。

全部评论
你好,我有两个问题想请教一下: 1.我发现order by只需要t.name就正确了,不过加上t.score, t.id也不影响,不知道什么时候排序了score和id 2.我尝试将两个rank_1改名为rank报错了,不知是什么原因。
点赞 回复 分享
发布于 2023-07-06 00:02 澳大利亚

相关推荐

11-09 01:22
已编辑
东南大学 Java
高级特工穿山甲:羡慕,我秋招有家企业在茶馆组织线下面试,约我过去“喝茶详谈”😢结果我去了发现原来是人家喝茶我看着
点赞 评论 收藏
分享
10-30 23:23
已编辑
中山大学 Web前端
去B座二楼砸水泥地:这无论是个人素质还是专业素质都👇拉满了吧
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
今天 10:52
点赞 评论 收藏
分享
1 1 评论
分享
牛客网
牛客企业服务