题目:
在oracle中有一数据表exam_result(成绩记录表),
表中的一条记录描述了“某个班某个学生某次考试的成绩"
create table EXAM_RESULT
(
ID NUMBER(10) not null, --主键
CLASSID NUMBER(10) not null, --
班级id,关联到班级表
USERID NUMBER(10) not null,
--用户id,关联到用户表
EXAMID NUMBER(10) not null,
--试卷id,关联到试卷表
RESULT NUMBER(3)
--成绩
)
现在要求统计完成了试卷id为1,2,3的成绩的前3名
即完成了试卷id为1的前3名,完成了试卷id为2的前3名,完成了试卷id为3的前3名
select * from (
select
e.classid,
e.userid,
e.examid,
e.result,
row_number() over (partition by e.examid order by e.examid, e.result desc) rn
from exam_result e
where e.examid in (1,2,3)
) where rn <= 3
分享到:
相关推荐
GROUP BY之后如何取每组的前两位下面我来讲述mysql中GROUP BY分组取前N条记录实现方法。 这是测试表(也不知道怎么想的,当时表名直接敲了个aa,汗~~~~): 结果: 方法一: 代码如下:SELECT a.id,a.SName,a.ClsNo...
其一、就业面广:全球前100强企业99家都在使用ORACLE相关技术,中国政府机构,大中型企事业单位都能有ORACLE技术的工程师岗位。 其二、技术层次深:如果期望进入IT服务或者产品公司(类似毕博、DELL、IBM等),...
ORACLE常用命令 一、ORACLE的启动和关闭 1、在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>startup ...
如果想在多个列上进行排序,必须对每个列指定DESC关键字。 升序是默认的,可不写,但降序必须写。 六、WHERE子句,选择、过滤 其后只能跟逻辑语句,返回值只有ture或false 如: select last_name,salary from s...
[Q]怎么样实现分组取前N条记录 13 [Q]怎么设置存储过程的调用者权限 13 [Q]怎么快速获得用户下每个表或表分区的记录数 13 [Q]可以利用utl_smtp包发邮件,以下是一个发送简单邮件的例子程序 14 [Q]可以利用utl_file包...
要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 oracle>sqlplus SQL>connect internal SQL>startup SQL>quit b、关闭ORACLE系统 oracle>sqlplus SQL>connect internal ...
系统设置:修改系统名称,每页显⽰条数, 邮件服务配置,站内信配置 15. 站内信:收信箱和发信箱,websocket技术通讯技术做的及时收信提醒,可配置语⾳提⽰来信 -----------------------------通讯模块 单聊群聊发图...
实例077 跳过数据输出中指定的记录 111 实例078 执行指定次数的循环 112 2.7 自定义函数 113 实例079 自定义函数截取中文字符串 113 实例080 公告标题的截取 114 实例081 论坛内容的简短输出 116 实例082 自定义函数...
实例077 跳过数据输出中指定的记录 111 实例078 执行指定次数的循环 112 2.7 自定义函数 113 实例079 自定义函数截取中文字符串 113 实例080 公告标题的截取 114 实例081 论坛内容的简短输出 116 实例082 自定义函数...
15、说明:选择在每一组b值相同的数据中对应的a最大的记录的所有信息(类似这样的用法可以用于论坛每月排行榜,每月热销产品分析,按科目成绩排名,等等.) select a,b,c from tablename ta where a=(select max(a) from ...
15、说明:选择在每一组b值相同的数据中对应的a最大的记录的所有信息(类似这样的用法可以用于论坛每月排行榜,每月热销产品分析,按科目成绩排名,等等.) select a,b,c from tablename ta where a=(select max(a) from ...
15、说明:选择在每一组b值相同的数据中对应的a最大的记录的所有信息(类似这样的用法可以用于论坛每月排行榜,每月热销产品分析,按科目成绩排名,等等.) select a,b,c from tablename ta where a=(select max(a) from ...
foreign key:外键,指定该列记录属于主表中的一条记录,参照另一条数据 check:检查,指定一个表达式,用于检验指定数据 MySQL不支持check约束,但可以使用check约束,而没有任何效果; 根据约束数据列限制,约束...
按照尽早进行测试的原则,测试人员应该在需求阶段就介入,并贯穿软件开发的全过程。就测试过程本身而言,应该包含以s下几个阶段。 -测试需求的分析和确定。 -测试计划。 -测试设计。 -测试执行。 -...
93 <br>0144 如何自定义货币值中的小数点 94 <br>0145 如何自定义货币值中小数点左边数字分组字符 94 <br>0146 如何自定义货币值中小数点左边每一组的位数 95 <br>0147 如何自定义百分比值中小数...