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);
承诺;