oracle排名函数(秩)实例详解

oracle排名函数(秩)实例详解
已知:两种类型的排序(分区和非分区):使用和不使用分区

-计算两种方式(连续、不连续),相应的功能:dense_rank,秩
查询原始数据:学号、姓名、职称、成绩

SELECT * FROM t_score

s_id
s_name
sub_name
退休主管服务队



中国人
八十


丽莎
数学
八十



数学



丽莎
中国人
五十


张三丰
中国人



张三丰
数学
U3000


张三丰
体育
一百二十


杨过
java
九十


迈克
C++
八十


张三丰
甲骨文公司



杨过
甲骨文公司
七十七


丽莎
甲骨文公司
七十七

查询每个学生的Oracle排名(简单排名)
选择sc.s_id,sc.s_name,sub_name,sc.score,
等级()在(按评分排序顺序)排名
从t_score SC
在sub_name = 'oracle

s_id
s_name
sub_name
退休主管服务队
排名


杨过
甲骨文公司
七十七



丽莎
甲骨文公司
七十七



张三丰
甲骨文公司



对比:秩()和():dense_rank间断排名连续排名(都是简单的排名)

选择sc.s_id,sc.s_name,sub_name,sc.score,
dense_rank()在(按评分排序顺序)排名
从t_score SC
在sub_name = 'oracle

s_id
s_name
sub_name
退休主管服务队
排名


杨过
甲骨文公司
七十七



丽莎
甲骨文公司
七十七



张三丰
甲骨文公司



每个年级学生的排名(分部排名)
选择sc.s_id,sc.s_name,sub_name,sc.score,
秩()超过
(按评分排序顺序排名sub_name分区)
从t_score SC

s_id
s_name
sub_name
退休主管服务队
排名


杨过
java
九十



杨过
甲骨文公司
七十七



丽莎
甲骨文公司
七十七



张三丰
甲骨文公司




迈克
C++
八十



张三丰
数学
U3000



丽莎
数学
八十




数学




张三丰
体育
一百二十




中国人
八十



丽莎
中国人
五十



张三丰
中国人



搜索每一部分的前2名(分区排名)

比如:新闻专栏,专栏的前3条新闻。

货物清单是每种货物中的前10种。
从中选择*(
选择sc.s_id,sc.s_name,sub_name,sc.score,
在dense_rank()
(按评分排序顺序排名sub_name分区)
从t_score SC
x)
其中x排序为< = 2

s_id
s_name
sub_name
退休主管服务队
排名


杨过
java
九十



杨过
甲骨文公司
七十七



丽莎
甲骨文公司
七十七



张三丰
甲骨文公司




迈克
C++
八十



张三丰
数学
U3000



丽莎
数学
八十



张三丰
体育
一百二十




中国人
八十



丽莎
中国人
五十


询问学生的总分
选择s_id,s_name,总和(评分)sum_score从t_score
集团通过s_id,s_name

s_id
s_name
sum_score



八十


丽莎
二百零七


张三丰
一百三十


杨过
一百六十七


迈克
八十

根据总分查询学生的姓名
选择x *,
等级()在(由sum_score倒序)排名
(从
选择s_id,s_name,总和(评分)sum_score从t_score
集团通过s_id,s_name)X

s_id
s_name
sum_score
排名


丽莎
二百零七



杨过
一百六十七



张三丰
一百三十




八十



迈克
八十


Grammar:
排序()(排序字段的顺序)
秩()在(按组字段在分区中按排序字段顺序)

1。|降序排序顺序:ASC相关业务:
例子:寻找优秀学生:成绩:迟到的降序:升序
2。分区字段:根据哪个字段划分哪个字段。

问:分区和组之间的区别是什么
分区只是原始数据的顺序(记录的数目是常量)。
组是原始数据的聚合(更少的记录,每组的一个)和注意:聚合。

uff1a脚本
创建表t_score

自动识别号码的主键,
s_id号(3),
s_name char(8)不为空,
sub_name VARCHAR2(20),
进球数(2)
);
插入t_score(自动识别,s_id,s_name,sub_name,评分)
价值观(8, 1,三,语言,80);
插入t_score(自动识别,s_id,s_name,sub_name,评分)
值(9, 2,‘李四',‘数学',80);
插入t_score(自动识别,s_id,s_name,sub_name,评分)
价值观(10, 1,张三,数学,0);
插入t_score(自动识别,s_id,s_name,sub_name,评分)
价值观(11, 2,‘李四',‘语言',50);
插入t_score(自动识别,s_id,s_name,sub_name,评分)
价值观(12, 3,‘张三丰',‘语言',10);
插入t_score(自动识别,s_id,s_name,sub_name,评分)
值(13, 3,张三丰,数学,NULL);
插入t_score(自动识别,s_id,s_name,sub_name,评分)
价值观(14, 3,张三丰,体育,120);
插入t_score(自动识别,s_id,s_name,sub_name,评分)
值(15, 4,'杨过','java ',90);
插入t_score(自动识别,s_id,s_name,sub_name,评分)
值(16, 5,迈克,C + +,80);
插入t_score(自动识别,s_id,s_name,sub_name,评分)
值(3, 3,'张三丰','oracle ',0);
插入t_score(自动识别,s_id,s_name,sub_name,评分)
值(4, 4,'杨过','oracle ',77);
插入t_score(自动识别,s_id,s_name,sub_name,评分)
值(17, 2,李四,'oracle ',77);
承诺;

tag:函数详解实例电脑软件Oracle

相关内容