Oracle分析函数-排序排列(rank、dense_rank、row_number、ntile)

(1)rank函数返回一个唯一的值,除非遇到相同的数据时,此时所有相同数据的排名是一样的,同时会在最后一条相同记录和下一条不同记录的排名之间空出排名。 
(2)dense_rank函数返回一个唯一的值,除非当碰到相同数据时,此时所有相同数据的排名都是一样的。
(3)row_number函数返回一个唯一的值,当碰到相同数据时,排名按照记录集中记录的顺序依次递增。
(4)ntile是要把查询得到的结果平均分为几组,如果不平均则分给第一组

示例:

create table s_score
(   s_id number(6)
   ,score number(4,2)
);
insert into s_score values(001,98);
insert into s_score values(002,66.5);
insert into s_score values(003,99);
insert into s_score values(004,98);
insert into s_score values(005,98);
insert into s_score values(006,80);

select
    s_id 
   ,score
   ,rank() over(order by score desc) rank               --按照成绩排名,纯排名
   ,dense_rank() over(order by score desc) dense_rank   --按照成绩排名,相同成绩排名一致
   ,row_number() over(order by score desc) row_number   --按照成绩依次排名
   ,ntile(3) over (order by score desc) group_s         --按照分数划分成绩梯队
from s_score;

oracle 小数点保留3位小数,转成 百分比

select    to_char(round(为小数点的字段*100,3),'990.000') || '%'   from table ;

oracle排序函数相关推荐

  1. Oracle排序函数详解

    Oracle提供的序号函数: 1.rownum rownum为最简单的序号 但是在order by之前就确定值. 举例: select rownum,--序号 year_name,--年份名称 mon ...

  2. oracle排序函数性能,oracle排序函数

    rank,dense_rank,row_number,以及分组排名partition rank:排名会出现并列第n名,它之后的会跳过空出的名次,例如:1,2,2,4 dense_rank:排名会出现并 ...

  3. list对oracle结果集排序了_详解SQL窗口函数和分组排序函数

    Mysql从8.0版本开始,也和Sql Server.Oracle一样支持在查询中使用窗口函数,本文将根据官方文档,通过实例介绍窗口函数并举例分组排序函数的使用. 英语好的大佬请移步官方文档~点我! ...

  4. oracle sql时间排序函数,sql的rank函数

    SQL SERVER 2008排序函数(窗口函数) 排序函数可以用来协助给结果集增加位置信息.SQL SERVER 2008只有四个排序函数,介绍如下: ROW_NUMBER:返回结果集中给定行的序号 ...

  5. oracle分类函数总结,oracle中分组排序函数用法

    项目开发中,我们有时会碰到需要分组排序来解决问题的情况,如:1.要求取出按field1分组后,并在每组中按照field2排序:2.亦或更加要求取出1中已经分组排序好的前多少行的数据 这里通过一张表的示 ...

  6. oracle 条件排序函数,oracle中分组排序函数

    项目开发中,我们有时会碰到需要分组排序来解决问题的情况,如:1.要求取出按field1分组后,并在每组中按照field2排序:2.亦或更加要求取出1中已经分组排序好的前多少行的数据 这里通过一张表的示 ...

  7. oracle中按数字大小排序函数,oracle中分组排序函数用法

    项目开发中,我们有时会碰到需要分组排序来解决问题的情况,如: 1.要求取出按field1分组后,并在每组中按照field2排序:2.亦或更加要求取出1中已经分组排序好的前多少行的数据 这里通过一张表的 ...

  8. oracle求和分组排序,oracle中分组排序函数用法 - 转

    项目开发中,我们有时会碰到需要分组排序来解决问题的情况,如:1.要求取出按field1分组后,并在每组中按照field2排序:2.亦或更加要求取出1中已经分组排序好的前多少行的数据 这里通过一张表的示 ...

  9. Oracle 分组排序函数

    项目开发中,我们有时会碰到需要分组排序来解决问题的情况: 1.要求取出按field1分组后,并在每组中按照field2排序: 2.亦或更加要求取出1中已经分组排序好的前多少行的数据 这里通过一张表的示 ...

最新文章

  1. opencv中的waitKey(0)不起作用
  2. 一周一论文(翻译 总结)—— [DSN 18] RDMC A Reliable RDMA Multicast for Large Objects :一个面向大型对象的可靠的RDMA广播框架
  3. 一次性删除数据库中某库的所有存储过程的方法
  4. Zookeeper_watch机制核心讲解
  5. Java EE启示录
  6. 一切为了孩子——一位IT麻麻的新西兰移民记录
  7. python中的深浅拷贝
  8. matlab2c使用c++实现matlab函数系列教程-abs函数
  9. Excel在行上面一键定位可见单元格!
  10. 单片机程序的整体框架设计的一些思路体会
  11. 英文商务邮件开场白结尾
  12. Java中线程同步锁和互斥锁有啥区别?看完你还是一脸懵逼?
  13. VScode中crtl+鼠标左键无法跳转
  14. 王者怎么看微信以前玩过的服务器,王者荣耀如何查看微信帐号在那个区玩过
  15. 第3.8节 Python百分号占位符的字符串格式化方法
  16. 从“金融IT”乙方转到甲方的职场感悟
  17. TypeError: classification_report() takes 2 positional arguments but 3 were given的解决方案
  18. 基于html5动画效果毕业论文,毕业设计(论文)-基于HTML5和CSS3的响应式网页制作.doc...
  19. 广联达bim5d手机端_广联达bim5d官网版下载
  20. 父元素设置了圆角,子元素没有设置圆角,子元素的直角会遮挡住父元素的圆角

热门文章

  1. Win7 Java环境变量配置方法
  2. https://wenku.baidu.com/view/2a54b90e52ea551810a6874e.html
  3. 使用animation实现拍照时,画面闪一下效果
  4. QT-UI界面设计图标能显示,但是运行时候不显示
  5. 新浪微博API学习使用笔记(2)
  6. [hiveSQL面试题2]
  7. docker 安装 jdk 环境(从远处仓库下载安装)
  8. OpenSIPS Out Of Memory
  9. 单目标跟踪--KCF算法(核化相关滤波算法)Python实现(超详细)
  10. python frozenset_Python中set与frozenset方法和区别详解