--已知:两种排名方式(分区和不分区):使用和不使用partition

--两种计算方式(连续,不连续),对应函数:dense_rank,rank

·查询原始数据:学号,姓名,科目名,成绩

select

*

from

t_score

S_ID S_NAME SUB_NAME SCORE ·查询各学生科目为Oracle排名(简单排名)

select

sc.s_id,sc.s_name,sub_name,sc.score,

rank() over

(

order

by

score

desc

) 名次

from

t_score sc

where

sub_name='Oracle'

S_ID S_NAME SUB_NAME SCORE 名次 对比:rank()与dense_rank():非连续排名与连续排名(都是简单排名)

select

sc.s_id,

dense_rank() over

(

order

by

score

desc

) 名次

from

t_score sc

where

sub_name='Oracle'

S_ID S_NAME SUB_NAME SCORE 名次 ·查询各学生各科排名(分区排名)

select

sc.s_id,
rank() over
(

partition

by

sub_name

order

by

score

desc

) 名次

from

t_score sc

S_ID S_NAME SUB_NAME SCORE 名次 ·查询各科前2名(分区排名)

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。