暂无图片
有一张学生成绩表 Scores,包含 student_id, course, score 三个字段。如何用一条 SQL 查询找出每个课程中分数最高的学生?
我来答
分享
暂无图片 匿名用户
有一张学生成绩表 Scores,包含 student_id, course, score 三个字段。如何用一条 SQL 查询找出每个课程中分数最高的学生?
暂无图片 100M

有一张学生成绩表 Scores,包含 student_idcoursescore 三个字段。如何用一条 SQL 查询找出每个课程中分数最高的学生?

我来答
添加附件
收藏
分享
问题补充
4条回答
默认
最新
刘艳兵

用窗口函数:

SELECT course, student_id, score
FROM (
    SELECT *, RANK() OVER (PARTITION BY course ORDER BY score DESC) AS rank
    FROM Scores
) t
WHERE rank = 1;
复制
暂无图片 评论
暂无图片 有用 4
打赏 2
夜的第七章灬

oracle,mysql通用语法:

SELECT b.course, b.score, a.student_id
FROM Scores a INNER JOIN (SELECT course,MAX(score) AS maxscore FROM Scores GROUP BY course) b ON a.course=b.course AND a.score=b.maxscore;

暂无图片 评论
暂无图片 有用 1
打赏 0
beryl.lv

select * from (select student_id,course,score,rank () over (partition by score) as ranking from scores) where ranking=1;

暂无图片 评论
暂无图片 有用 0
打赏 0
小铜人

SELECT s.course, s.student_id, s.score
FROM Scores s
INNER JOIN (
SELECT course, MAX(score) AS max_score
FROM Scores
GROUP BY course
) AS max_scores
ON s.course = max_scores.course AND s.score = max_scores.max_score;

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
什么是大小写处理函数?
回答 1
已采纳
大小写处理函数是文本函数,用于更改文本数据的大小写,可以将数据转换为大写、小写或首字母大写。 UCASE()(或 UPPER()) – 返回转换为大写的字符串。
check了表和索引确实有不一致,该怎么处理?
回答 1
再备份一次
数据库分区后,如何知道该查哪个分区表?
回答 1
在数据库分区后,查询表需要知道该查哪个分区表。可以使用以下SQL语句查询表分区的名字以及对应的分区时间,从而知道该查哪个分区表:SELECTt.NAME,p.NAME,p.valueFROMsys.p
sparksql怎么优化?
回答 1
可以在处理数据之前应用筛选、过滤和聚合等预处理步骤,以减少要处理的数据量。这样可以降低资源消耗和提高性能。
数据库 win64位的能升级到11.2.0.4吗?
回答 1
问题么有说清楚嘛 操作系统win64 目前数据库是哪个版本
如何使用 halo 数据库的auto_explain工具?
回答 1
已采纳
autoexplain模块提供了一种方式来自动记录慢速语句的执行计划,而不需要手工运行EXPLAIN。这在大型应用中追踪未被优化的查询时有用。该模块没有提供 SQL可访问的函数。要使用它,简
jdk17 应该选elasticsearch什么版本?
回答 2
Elasticsearch7.x需要使用JDK11,Elasticsearch6.x需要使用JDK1.8。因此,如果您使用的是JDK17,那么您应该选择Elasticsearch7.x之后版本。
dba_tables中是有一张表的,但是dba_segments中却查询不到任何信息,是为什么?
回答 1
会不会不是真实的?比如是视图、物化、同义词。名字不是真实的。
数据库的服务器有的时候连接不上,或者连接慢的怎么处理?
回答 1
一般查瓶颈,查堵点,对症下药
RPO是什么
回答 2
已采纳
恢复点目标
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~