首页 > 代码库 > oracle根据成绩排名查询某个名次段的人员

oracle根据成绩排名查询某个名次段的人员

先说一下表结构  名字name  分数fenshu   表名test1,以下查询的是成绩排名为第三名和第四名,这个模板让你查随意排名段的人

select name,fenshu,mc from (
select

name,

fenshu,
dense_rank() over (order by fenshu desc) mc
from test1                             )

where mc<=4and mc>2

 

dense_rank()与rank()区别是连续排名,比如有两个成绩一样dense为112排名rank则为113排名,可以把**rank() over   理解为根据后面内容排名的意思,比如上面的是成绩倒序,那就理解为根据成绩倒序进行排名,排出来的字段设为别名mc

oracle根据成绩排名查询某个名次段的人员