oracle 查询各科前3名_ORACLE分科目统计每科前三名的学生的语句
2021/7/2 19:27:14
本文主要是介绍oracle 查询各科前3名_ORACLE分科目统计每科前三名的学生的语句,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
成绩表 score(student_no,Subject_no,Score)分别为学号,课程号,成绩
查询出每科的前三名学生的学号
创建表并插入测试数据
create table score(student_no varchar2(3),Subject_no varchar2(20),Score number); insert into score values('001','语文',70); insert into score values('001','数学',60); insert into score values('001','英语',90); insert into score values('002','语文',78); insert into score values('002','数学',67); insert into score values('002','英语',80); insert into score values('003','语文',89); insert into score values('003','数学',60); insert into score values('003','英语',97); insert into score values('004','语文',50); insert into score values('004','数学',67); insert into score values('004','英语',70); insert into score values('005','语文',79); insert into score values('005','数学',65); insert into score values('005','英语',79); insert into score values('006','语文',78); insert into score values('006','数学',56); insert into score values('006','英语',87); commit;
第一种查询:
查询的sql语句:
select * from (select s.*, row_number() over(partition by s.subject_no order by s.score desc) p from score s) where p <= 3
结果如下
第二种查询:
查询的sql语句
select * from (select s.*, rank() over(partition by s.subject_no order by s.score desc) p from score s) where p <= 3
结果如下
区别
row_number:不管排名是否有相同的,都按照顺序1,2,3…..n
rank:排名相同的名次一样,同一排名有几个,后面排名就会跳过几次
dense_rank:排名相同的名次一样,且后面名次不跳跃
这篇关于oracle 查询各科前3名_ORACLE分科目统计每科前三名的学生的语句的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-07Dify + TiDB Vector,快速构建你的AI Agent
- 2024-07-06有没有什么开源的py项目可以对图像进行分类-icode9专业技术文章分享
- 2024-07-05feign默认connecttimeout和readtimeout是多少-icode9专业技术文章分享
- 2024-07-05idea控制台,日志太多,导致部分想看得日志被刷走 搜不到-icode9专业技术文章分享
- 2024-07-05The server selected protocol version Tls10 is not accepted by client preferences [TLs12]-icode9专业技术文章分享
- 2024-07-05怎么清理项目缓存-icode9专业技术文章分享
- 2024-07-04安装 Eyoucms详细图文教程-icode9专业技术文章分享
- 2024-07-04ueditor 复制文章时,图片的链接是一个下载图片地址,该如何处理?-icode9专业技术文章分享
- 2024-07-04怎样判断host有没有对wordpress有缓存呢-icode9专业技术文章分享
- 2024-07-04具有编译功能的系统make后,无法ssh连接-icode9专业技术文章分享