oracle材料差异科目,ORACLE分科目统计每科前三名的学生的语句
有个成绩表 score(student_no,Subject_no,Score)分别为学号,课程号,成绩。我想用语句查询出每科的前三名学生的学号,请各位高手教教小弟
1.创建测试语句:
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','语文',74);
insert into score values('006','数学',56);
insert into score values('006','英语',87);
commit;
2.产生结果:
select * from (
select t.*,row_number() over(partition by t.subject_no order by t.score desc) pm from score t) where pm<4;
STUDENT_NO SUBJECT_NO SCORE PM
002 数学 67 1
004 数学 67 2
005 数学 65 3
003 英语 97 1
001 英语 90 2
006 英语 87 3
003 语文 89 1
005 语文 79 2
002 语文 78 3
或者以下SQL:
select* from score s1 where Score in( select Score from score s2
where s2.Subject_no=s1.Subject_no and rownum<=3
)order by s1.Subject_no,s1.Score desc
转自:http://zhidao.baidu.com/link?url=Y3KzpLugzm4HIIJXMlgOQEU-MZmeo0avJ1ZBcQ66DwWtLUaIIP9X3EsVsGCFqXfpBGUaBfcMDoCV2dOSLX8Bdq
oracle材料差异科目,ORACLE分科目统计每科前三名的学生的语句相关推荐
- 分科目统计每科前三名的学生
一张表Tb_Student insert into [Tb_Student] values('001','姜子牙','语文',80); insert into [Tb_Student] values( ...
- Oracle中时间处理及分时间段统计
Oracle 时间加减法 由于最近在做时段加减法相关的测试工作,在网上找到了一些关于时间加减方面的算法,正好可以解决燃眉之急,也希望能够帮到更多的Oracle初学者! 加法 select sysd ...
- C语言按各科分数段统计人数,(更新啦)学校学生成绩统计通用模板(科目、分数、统计分数段等均可自定,班级数、学生人数不受限制)...
更新说明: 1.增加了导入.导出数据功能. 2.该功能可以实现版本更新时不用手动复制数据,可实现一键导入导出. 导语微信号☞gdpc-service 这是一款适用于学校平时统一考试成绩统计表.这是长期 ...
- oracle stalestats_深入理解oracle优化器统计数据(Optimizer Statistics)
理解oracle优化器统计数据 首先来介绍oracle数据库使用基于规则优化器(RBO)来决定如何执行一个sql语句.基于规则优化器顾名思义,它是遵循一组规则来判断一个sql语句的执行计划.这组规则是 ...
- oracle 大表统计分析,oracle表的分析统计
oracle表的分析统计 [总结] Oracle 表的分析统计 讨论一: 使用 dbms_stats 还是 analyze 自从 Oracle8.1.5 引入 dbms_stats 包, Oracle ...
- Oracle Decode 函数用法 Count函数条件统计 Sign 函数用法 Case When 函数
Oracle Decode 函数用法 Count函数条件统计 Sign 函数用法 Case When 函数 一.概述 1.本文系统的整理了,Oracle中常见的几个函数用法,都是涉及到条件判断分支类的 ...
- 泉州中考分数如何计算机,2019年泉州中考总分多少分,泉州中考各个科目多少分...
泉州中考2018考试科目及分值 科目分值 语文150分 数学150分 英语150分 物理90分 化学60分 思品20分 历史20分 体育10分 总分650分 泉州中考中招五大变化 1.实行全省统一考试 ...
- oracle精确匹配时间,Oracle时间精确到时、分、秒处理方法
Oracle时间精确到时.分.秒处理方法 一般数据库中时间的格式为DATE类型,而我们从页面中获取的时间往往为String类型,这个就需要类型的转换.一般我们会通过调用 Java.text.Simpl ...
- [Oracle]UNIX与Windows 2000上Oracle的差异(I)
作者:Ian Adam & David Stien, SAIC Ltd 日期:19-Dec-2003 出处:http://www.dbanotes.net 翻译:Fenng -------- ...
最新文章
- 《数据安全管理办法(征求意见稿)》发布 为个人数据安全加把锁
- Flume的安装与配置
- WebGL 浏览器函数
- 阿联酋是发达国家还是发展中国家
- Android开发工具之Android Studio----版本控制SVN使用(一)
- windows7 32升级64位 硬盘安装_LabVIEW 2018(32/64)位 软件安装教程
- mac SecureCRT设置
- php 获取sql字段名,php – 使用DISTINCT和UNION在SQL查询中获取字段名称
- Flask中的 url_for() 函数
- HDU1871 无题【序列处理】
- 混合高斯模型背景建模原理
- 使用js打印网页局部图片(内容)
- openg显示Bmp图片
- 初探MYD-AM335x开发板
- 毕业设计结论计算机应用技术,计算机应用技术(网络、软件)毕业设计实施方案...
- 工作总结9:这一个月来犯的错
- Postman 接口神器
- 智能车寻线算法之北科寻线可能用的方法
- thinksns php7,centos 7 部署Thinksns的思路详解
- python和报表生成工具_推荐一个利用 python 生成 pptx 分析报告的工具包:reportgen...
热门文章
- 正儿八经的详细讲java内部类
- 2.2.1 计算机网络之传输介质(双绞线、同轴电缆、光纤、无线电缆、微波、激光、红外线)
- 2.2.2 定点数的运算(移位、原码和补码的加减乘除、溢出概念和判别方法)
- echart饼图标签重叠_Echarts 解决饼图文字过长重叠的问题
- vant 做表格_Vant List 列表
- lgg7深度详细参数_深度学习平均场理论第七讲:Batch Normalization会导致梯度爆炸?...
- 对YUV4:2:0认识理解
- C++ 重载机制实现原理
- 网站改成静态页面打不开_稳定网站排名的基本条件 - 最蜘蛛池外推快速收录
- qthread run结束了算销毁吗_拼多多,一面,i++ 是线程安全的吗?一脸蒙逼!