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

相关内容