分享好友 最新动态首页 最新动态分类 切换频道
1112. 每位学生的最高成绩
2024-12-27 01:52

力扣题目跳转(1112. 每位学生的最高成绩 - 力扣(LeetCode

1112. 每位学生的最高成绩

+---------------+---------+
| Column Name   | Type    |
+---------------+---------+
| student_id    | int     |
| course_id     | int     |
| grade         | int     |
+---------------+---------+
(student_id, course_id) 是该表的主键(具有唯一值的列的组合)。
grade 不会为 NULL。

 题目要求

编写解决方案,找出每位学生获得的最高成绩和它所对应的科目,若科目成绩并列,取  最小的一门。查询结果需按  增序进行排序。

查询结果格式如下所示。

示例 1

输入
Enrollments 表+------------+-------------------+
| student_id | course_id | grade |
+------------+-----------+-------+
| 2          | 2         | 95    |
| 2          | 3         | 95    |
| 1          | 1         | 90    |
| 1          | 2         | 99    |
| 3          | 1         | 80    |
| 3          | 2         | 75    |
| 3          | 3         | 82    |
+------------+-----------+-------+
输出
+------------+-------------------+
| student_id | course_id | grade |
+------------+-----------+-------+
| 1          | 2         | 99    |
| 2          | 2         | 95    |
| 3          | 3         | 82    |
+------------+-----------+-------+

case 1 的建表语句。

Create table If Not Exists Enrollments (student_id int, course_id int, grade int)

Truncate table Enrollments

insert into Enrollments (student_id, course_id, grade) values ('2', '2', '95')

insert into Enrollments (student_id, course_id, grade) values ('2', '3', '95')

insert into Enrollments (student_id, course_id, grade) values ('1', '1', '90')

insert into Enrollments (student_id, course_id, grade) values ('1', '2', '99')

insert into Enrollments (student_id, course_id, grade) values ('3', '1', '80')

insert into Enrollments (student_id, course_id, grade) values ('3', '2', '75')

insert into Enrollments (student_id, course_id, grade) values ('3', '3', '82')

一     我们增加一列作为判断每个人最高分的依据。

select
    *,
     rank() over (partition by student_id order by grade desc,course_id) as rn
from Enrollments;

输出如下

二    很明显 rn = 1的为每个人最高的分数。直接选取即可,记得按照要求进行排序。

with tmp as
(select
    *,
     rank() over (partition by student_id order by grade desc,course_id) as rn
from Enrollments)
select student_id,course_id,grade 
from tmp
where rn = 1
order by student_id;

输出如下

以上就是全部答案,如果对你有帮助请点个赞,谢谢。

来源:力扣(leecode

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

 转载请注明出处:

最新文章
鸡西市牙套搭桥口腔医生排行榜一览名单发布-鸡西市牙套搭桥医生技术稳扎稳打
说到鸡西市牙套搭桥,找到一个经验十分丰富技术高超的牙套搭桥医生非常重要!今天本文就根据牙友们口碑给您汇总鸡西市牙套搭桥医生排名前10~都是鸡西市上牙友们评选出来的鸡西市牙套搭桥医生推荐名单哟!擅长项目:牙套搭桥,重度感染,发育
SEO如何创业,有哪些基本的步骤和策略?
创业是一条有前途的路。随着人们日益重视网络营销,SEO成为了一项非常具有价值的技能。SEO创业在未来几年将有非常大的发展潜力,但是SEO创业需要你有一定的技术基础,需要你对搜索引擎算法有了解,同时你还需要一些基本的策略和步骤来确保
【5210S(电信版)鲁大师下载】酷派5210S 电信版鲁大师10.9.0免费下载
手机跑分、验真假、清理垃圾专业工具!1亿用户选择的手机硬件专家。鲁大师发福利了,新用户下载即送现金!现在清理手机垃圾还能赚钱,轻松体现秒到账!===手机评测===【鉴别真假】全面检测各项指标,快速鉴别手机真伪,买到假机帮你上报维
网络数据爬取的基本步骤有哪些,结构解答解释落实_CXZS版?GH9
网络数据爬取的基本步骤包括:确定目标网站,分析网站结构,编写
网站地图对网站优化的重要性(优化搜索引擎爬虫)
在当今互联网时代,网站一个优秀的地图对网网站不仅需要良好的设计和内容,同时也需要具备良好的站优重性用户体验和搜索引擎优化。而网站地图作为一种重要的优化引擎工具,不仅可以方便用户浏览网站内容,搜索还能帮助搜索引擎更好地爬取网
拼多多助力群500人最新日期的二维码已经在朋友圈出现了
2.为了避免好友拉黑删除的情况,小编特地创建了微信助力群,群中都是参加各式各样助力砍价活动的群友,大家相互帮忙助力,点击下方快速进入助力砍价群。点击免费加入【拼多多互助砍价微信群】点击免费加入【拼多多互助砍价微信群】点我免费
高清美女写真:用AI一键生成你的梦想女友!
限时免费,点击体验最近超火的AI生图神器,坐拥3000美女的大男主就是你! https://ai.sohu.com/pc/generate/textToImg?_trans_=030001_yljdaimn 在这个科技飞速发展的时代,人工智能突破了传统的界限,让我们能够通过简单的操作,创造出超
水母网怎么发稿?水母网新闻推广介绍
在当今的网络时代,软文发稿已成为企业传播品牌与推广产品的重要手段之一。水母网作为一个专业的新闻稿软文推广平台,被许多企业和个人广泛使用。在这篇文章中,我们将深入探讨水母网怎么发稿,包括其功能、操作流程以及一些实用技巧,以帮
最新魔方去重二创一键搬运神器,卡笔记卡图文卡章节特效【搬运助手+使用教程】
功能介绍:自动去重技术:魔方抖音软件的自动去重功能,让你的视频在保持原创性的同时,更加符合平台的推荐算法,避免被限流,确保视频能够获得更多的曝光机会。卡特效:通过魔方抖音软件,你可以轻松应用各种模板和特效,让你的视频内容更
四川AI告别视频制作公司:为何选择AI亲人告别视频制作?
在当今这个科技飞速发展的时代,亲人之间的情感联系依然是人们生活中不可或缺的一部分。然而,随着年龄的增长、时间的推移,亲人的离世往往让我们感到无比的失落和痛苦。在这个背景下,AI亲人告别视频的出现,无疑为人们提供了一种新的告别
相关文章
推荐文章
发表评论
0评