问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

rank函数排名是怎么样的?

发布网友 发布时间:2022-04-23 01:29

我来回答

13个回答

懂视网 时间:2022-05-03 06:09

 

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

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

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

select * from t_score

 

S_ID S_NAME SUB_NAME SCORE
1 张三 语文 80.00
2 李四 数学 80.00
1 张三 数学 0.00
2 李四 语文 50.00
3 张三丰 语文 10.00
3 张三丰 数学  
3 张三丰 体育 120.00
4 杨过 JAVA 90.00
5 mike c++ 80.00
3 张三丰 Oracle 0.00
4 杨过 Oracle 77.00
2 李四 Oracle 77.00

 

  ·查询各学生科目为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 名次
4 杨过 Oracle 77.00 1
2 李四 Oracle 77.00 1
3 张三丰 Oracle 0.00 3

 

    对比:rank()与dense_rank():非连续排名与连续排名(都是简单排名)   select sc.s_id,sc.s_name,sub_name,sc.score, dense_rank() over (order by score desc) 名次 from t_score sc where sub_name=‘Oracle‘

 

S_ID S_NAME SUB_NAME SCORE 名次
4 杨过 Oracle 77.00 1
2 李四 Oracle 77.00 1
3 张三丰 Oracle 0.00 2

 

  ·查询各学生各科排名(分区排名) select sc.s_id,sc.s_name,sub_name,sc.score, rank() over (partition by sub_name order by score desc) 名次 from t_score sc

 

S_ID S_NAME SUB_NAME SCORE 名次
4 杨过 JAVA 90.00 1
4 杨过 Oracle 77.00 1
2 李四 Oracle 77.00 1
3 张三丰 Oracle 0.00 3
5 mike c++ 80.00 1
3 张三丰 数学   1
2 李四 数学 80.00 2
1 张三 数学 0.00 3
3 张三丰 体育 120.00 1
1 张三 语文 80.00 1
2 李四 语文 50.00 2
3 张三丰 语文 10.00 3

 

·查询各科前2名(分区排名)

·类似:新闻表,求栏目点击率在前3位的新闻。
商品表,求各类别销售额在前10位的商品。

select * from (
select sc.s_id,sc.s_name,sub_name,sc.score,
dense_rank() over
(partition by sub_name order by score desc) 名次
from t_score sc
) x
where x.名次<=2

 

S_ID S_NAME SUB_NAME SCORE 名次
4 杨过 JAVA 90.00 1
4 杨过 Oracle 77.00 1
2 李四 Oracle 77.00 1
3 张三丰 Oracle 0.00 2
5 mike c++ 80.00 1
3 张三丰 数学   1
2 李四 数学 80.00 2
3 张三丰 体育 120.00 1
1 张三 语文 80.00 1
2 李四 语文 50.00 2

 

    ·查询各同学总分 select s_id,s_name,sum(score) sum_score from t_score group by s_id,s_name

 

S_ID S_NAME SUM_SCORE
1 张三 80.00
2 李四 207.00
3 张三丰 130.00
4 杨过 167.00
5 mike 80.00

 

  ·根据总分查询各同学名次 select x.*, rank() over (order by sum_score desc) 名次 from ( select s_id,s_name,sum(score) sum_score from t_score group by s_id,s_name ) x

 

S_ID S_NAME SUM_SCORE 名次
2 李四 207.00 1
4 杨过 167.00 2
3 张三丰 130.00 3
1 张三 80.00 4
5 mike 80.00 4

 

    语法: rank() over (order by 排序字段 顺序) rank() over (partition by 分组字段 order by 排序字段 顺序)   1.顺序:asc|desc 名次与业务相关: 示例:找求优秀学员:成绩:降序 迟到次数:升序 2.分区字段:根据什么字段进行分区。   问题:分区与分组有什么区别? ·分区只是将原始数据进行名次排列(记录数不变), ·分组是对原始数据进行聚合统计(记录数变少,每组返回一条),注意:聚合。

脚本:

create table t_score(
 autoid number primary key,
 s_id number(3),
 s_name char(8) not null,
 sub_name varchar2(20),
 score number(10,2)
);
insert into t_score (autoid, s_id, s_name, sub_name, score)
values (8, 1, ‘张三‘, ‘语文‘, 80);
insert into t_score (autoid, s_id, s_name, sub_name, score)
values (9, 2, ‘李四‘, ‘数学‘, 80);
insert into t_score (autoid, s_id, s_name, sub_name, score)
values (10, 1, ‘张三‘, ‘数学‘, 0);
insert into t_score (autoid, s_id, s_name, sub_name, score)
values (11, 2, ‘李四‘, ‘语文‘, 50);
insert into t_score (autoid, s_id, s_name, sub_name, score)
values (12, 3, ‘张三丰‘, ‘语文‘, 10);
insert into t_score (autoid, s_id, s_name, sub_name, score)
values (13, 3, ‘张三丰‘, ‘数学‘, null);
insert into t_score (autoid, s_id, s_name, sub_name, score)
values (14, 3, ‘张三丰‘, ‘体育‘, 120);
insert into t_score (autoid, s_id, s_name, sub_name, score)
values (15, 4, ‘杨过‘, ‘java‘, 90);
insert into t_score (autoid, s_id, s_name, sub_name, score)
values (16, 5, ‘mike‘, ‘c++‘, 80);
insert into t_score (autoid, s_id, s_name, sub_name, score)
values (3, 3, ‘张三丰‘, ‘oracle‘, 0);
insert into t_score (autoid, s_id, s_name, sub_name, score)
values (4, 4, ‘杨过‘, ‘oracle‘, 77);
insert into t_score (autoid, s_id, s_name, sub_name, score)
values (17, 2, ‘李四‘, ‘oracle‘, 77);
commit;

 

ending...

 

 

转载:https://www.jb51.net/article/51627.htm

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

标签:number   排列   desc   add   排名   方式   core   lsp   int   

热心网友 时间:2022-05-03 03:17

要利用什么函数,首先找出对应的函数名称。按字母顺序查找以R开头的,点击确定。在菜单栏中单击插入命令的函数,指定的函数也就是说你要对哪一个数进行排名,这里选择的是H2中单元格的总成绩。

函数名后面的参数中,number为需要求排名的那个数值或者单元格名称(单元格内必须为数字),ref 为排名的参照数值区域,order的为0和1,默认不用输入,得到的就是从大到小的排名,若是想求倒数第几,order的值请使用1。这里共讲到三个参数,需要注意的第三个参数是可以省略的。

除了选择插入函数还可以直接在单元格里面输入函数也可以得到同样的效果。在B2单元格里面先输入等于号,一般等于号输入了之后就代表这个单元格里面的是一个公式。

RANK是一个从oracle 8.1.6开始引入的统计函数。RANK的功能是按照某种分组方式计算出返回结果的排行。RANK函数有两个,一个是RANK,另外一个是DENSE_RANK。RANK排序在碰到并列值的时候,下一个排行序号会跳过并列的值,而DENSE_RANK排序的结果有并列排名,下一个排行顺序仅仅加一。

热心网友 时间:2022-05-03 04:35

Excel表格中有一个名为“RANK”的函数,这个函数可以帮助用户对数据的数值大小进行排名(且会自动筛选重名),所显示的结果是有多少项目就显示多少项目,RANK函数的应用方法请看下文。

平常生活中,我们想将一列数字排序,大家最易想到的是用排序按钮,然后下一列用自动填充功能填充,但是当遇到两个数据相同的时候,这样填充出来的数据就不能很好的显示排名情况。两个105相同的分数,但是自动填充显示的名次却不一样。我们还得对这些相同分数的排名进行手动修改。

如何让Excel帮助我们,不用排序快捷键,而且能去除重名次呢。首先我们不用将数据排序,回到最初数据形式。下面我们需要运用RANK函数。在B2单元格中输入以下内容:

01=RANK(A2,$2:$24),其中A2是需要确定位次的数据,$A$2:$A$24表示数据范围,括号里的内容即表示A2单元格数据在A2:A24这个数据区域的排名情况,公式计算结果将被显示在B2单元格里。

然后选中B2单元格,将鼠标放在右下角,鼠标变成小十字的时候,按下鼠标左键不放,往下拉到B24单元格,这样所有分数的排名就显示出来了。

热心网友 时间:2022-05-03 06:09

rank函数排名有:单列排名,多列数值排名。

1、单列排名——降序排序比如,对学生成绩进行排名,肯定是最高分第一名,最低分最后一名,即它排名实际就是成绩的降序排序。

2、单列排名——升序排序比如,对参加跑步比赛的选手进行排名,肯定是跑步用时最少的第一名,用时最多的最后一名,所以,它的排名就是跑步比赛用时的升序排序。

3、多列数值一同排名如果要排名的数值不是都在同一列,而是分多列。

补充说明:

RANK函数主要是用来作用是排名。

公式为:RANK(number,ref,order)=RANK(A1,$A$1:$A$5,1)

解释为:RANK(你需要用排名的数字,在哪些数字列表里面排,要用什么排位方式排),所谓的排位方式就是,是最大排在第一,还是最小排在第一;如果你希望最大排在第一,那排位方式就空着或者写0,如果你希望最小排在第一,那排位方式就写1。

热心网友 时间:2022-05-03 08:01

rank函数为美式排名函数,美式排名的时候,如果有相同的值出现对应的名次都会显示为一个值。然后下一个名次会直接跳过中间存在的数。rank函数可以对不连续单元格进行排名:不连续的单元格,第二个参数需要用括号和逗号形式连接起来。如输入公式=RANK(B5,(B5,B9,B13,B17),0)。

RANK(要判断的单元格,查找的区域,1为最小数排第一,0为最大数排第一)。Number为需要找到排位的数字。Ref为数字列表数组或对数字列表的引用。Ref中的非数值型参数将被忽略(引用区域要绝对引用)。Order为一数字,指明排位的方式。如果order为0(零)或省略,MicrosoftExcel对数字的。

RANK函数公式写法:=RANK(要排名的数字,一组数字,降序or升序)公式说明:返回某数字在一列数字中相对于其他数值的大小排名。第3个参数若为0或忽略表示降序,非零值表示升序。

中式排名与美式排名的区别在于出现重复值的时候,下一个名次中式排名会按照正常排序,美式排名则会根据相同值个数跳过对应的名次。通过sumproct函数多条件操作的特点,可以将多个条件值进行合并,实现数据的单独分组排名。

热心网友 时间:2022-05-03 10:09

rank函数排名有:单列排名,多列数值排名。这个函数可以帮助用户对数据的数值大小进行排名,rank函数为美式排名函数,按字母顺序查找以R开头的,点击确定。

热心网友 时间:2022-05-03 12:33

rank函数最常用的是求某一个数值在某一区域内的排名。即返回一个数字在数字列表中的排位。数字的排位是其大小与列表中其他值的比值,如果列表已排过序,则数字的排位就是它当前的位置。

热心网友 时间:2022-05-03 15:15

rank函数排名有:单列排名,多列数值排名。
平常生活中,我欲界数次,众易之以序按钮思,然后下界以自充功能填,然当得二数同也,此实出之数而不善者示第状。二105同之分,然自充示之次不同。何得谓之同分之为手动改也。

热心网友 时间:2022-05-03 18:13

rank函数排名有:单列排名,多列数值排名。MySQL中没有Rank排名函数,当我们需要查询排名时,只能使用MySQL数据库中的基本查询语句来查询普通排名。尽管如此,可不要小瞧基础而简单的查询语句,我们可以利用其来达到Rank函数一样的高级排名效果。

热心网友 时间:2022-05-03 21:27

Excel表格中有一个名为“RANK”的函数,这个函数可以帮助用户对数据的数值大小进行排名(且会自动筛选重名),所显示的结果是有多少项目就显示多少项目。

热心网友 时间:2022-05-04 00:59

RANK函数是这样定义的:返回一个数字在数字列表中的排位。数字的排位是其大小与列表中其它值的比值。函数RANK对重复数的排位相同,但重复数的存在将影响后续数值的排位。

热心网友 时间:2022-05-04 04:47

rank函数返回一个数字在数字列表中的排位。用法:RANK(A1,B2:B10,1)。表示A1格内容在区域B2:B10内的位置大小,最后一个参数表示升序排位,如果省略或为0表示降序排位。

热心网友 时间:2022-05-04 08:51

  要完成如题的操作,Rank函数参数中对数组或数字列表的引用须是绝对引用,如图,输入”$C$2:$C$11“对C2:C11单元格区域进行绝对引用。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
老式电脑u盘启动bios老电脑如何设置U盘启动 老式台式机装了U启动后怎么设U盘启动 老电脑u盘启动不了电脑无法从u盘启动 u盘启动老电脑bios设置u盘启动怎么办_老机子bios设置u盘启动 老电脑怎么u盘启动老台式电脑开机怎么启动u盘装系统 为什么俄罗斯要击落mh17? 吃鸡模式《生死狙击》手游小鸡快跑模式详解介绍_吃鸡模式《生死狙击》手... 吃鸡自己和队友都变成小鸡能看到的吗 吃鸡死后变小鸡队友能看见吗 驾照一次性扣6分可以办理校车从业资格证吗? 经常用开水泡枸杞喝能起到壮阳作用吗? 枸杞子泡水喝壮阳吗?男人喝枸杞子泡水的话,长久喝的是不是会壮阳的? 用枸杞泡水,真的有壮阳的功效吗? 长期吃枸杞能起到强肾壮阳的作用吗 枸杞补肾壮阳,经常喝会有哪些副作用? excel的rank排名怎么用 长期吃枸杞可以壮阳吗 想要壮阳能喝枸杞子水吗? 枸杞补肾壮阳,坚持喝会有什么副作用吗? 枸杞泡开水可以壮阳吗? 男人喝枸杞泡茶能壮阳吗? 枸杞补肾壮阳,经常喝枸杞对身体的好处有多少? 喝枸杞水壮阳吗 吉他怎么连接到电脑上的库乐队? 有一款iPad上的app,可以直接按一个键就弹出和弦(如图)这款app叫什么? iPhone6 GarageBand 怎么添加自己想要的和弦? 安卓版的随身乐队(苹果是库乐队)怎样升降调啊?我把钢琴和弦弄好了,但... 谁能告诉我这是什么软件?可以弹奏和弦 随身乐队和弦怎么调成下面图那样的 美的燃气热水器F1? 枸杞子泡水喝可以壮阳吗 长期用枸杞泡水喝,能养肾吗? excelrank怎么排名 网页设计规范的要求有哪些? 学UI就业如何? 最新网页设计尺寸规范是什么? 什么是b端设计师? b端和web端是什么意思 C端和B端的设计有什么不同 b端和c端是什么意思? B端商家用的系统一般用什么框架,需要UI设计吗 电商说的B端C端W端指的是什么? 请问互联网行业的运营中,经常说的&quot;C端&quot;,&quot;B端&quot;是什么意思?C代表什么,B又代表什么? B端ui 平面设计 游戏建模 哪个发展钱景最好,学的是工业设计? 复杂B端产品如何做 用户引导设计 互联网里面的B端用户和C端用户指的是什么? 关于ant design的书籍 餐桌上经常见的西兰花,你都知道它有哪些功效吗? 绿色像西兰花一样的蔬菜是什么啊? 西兰花在地里长什么样
  • 焦点

最新推荐

猜你喜欢

热门推荐