加入收藏 | 设为首页 | 会员中心 | 我要投稿 4S站长网 (https://www.4s3.cn/)- 科技、混合云存储、数据迁移、云上网络、数据计算!
当前位置: 首页 > 数据库 > Oracle > 正文

Oracle排名函数(Rank)实例详解

发布时间:2021-01-24 12:49:27 所属栏目:Oracle 来源:互联网
导读:这篇文章主要介绍了Oracle排名函数(Rank)实例详解,需要的朋友可以参考下

--已知:两种排名方式(分区和不分区):使用和不使用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名(分区排名)

(编辑:4S站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!