与 PERCENT 函数类似,PERCENT_RANK 函数为窗口的 ORDER BY 子句所指定列中的值返回秩,但以介于 0 和 1 之间的小数形式表示,计算方法为 (RANK - 1)/(N- 1)。

随着窗口在输入行中向下移动,会计算在窗口的 ORDER BY 子句中所指定的表达式的秩。当 ORDER BY 子句包括多个表达式时,若第一个表达式与相邻行具有相同值,则第二个及后续表达式将用于区分并列情况。NULL 值排在任何其它值的前面(在升序序列中)。

示例1

以下示例返回按性别显示 New York 雇员薪水排位的结果集。该结果使用百分比数按降序列出排位并按性别分区。

SELECT DepartmentID, Surname, Salary, Sex,PERCENT_RANK( ) OVER ( PARTITION BY SexORDER BY Salary DESC ) AS PctRankFROM Employees WHERE State IN ( 'NY' );

此查询会返回以下结果:

由于按性别 (Sex) 划分输入,所以分别对男雇员和女雇员执行 PERCENT_RANK 计算。

示例2

以下示例返回 Utah 和 Arizona 的一些女雇员的列表并根据薪水以降序顺序排列她们。这里的 PERCENT_RANK 函数用于以降序顺序提供累计总数。

SELECT Surname, Salary, PERCENT_RANK ( ) OVER ( ORDER BY Salary DESC ) "Rank"FROM Employees
WHERE State IN ( 'UT', 'AZ' ) AND Sex IN ( 'F' );

此查询会返回以下结果:

使用 PERCENT_RANK 查找最高和最低百分点
您可以使用 PERCENT_RANK 在数据集中查找最高或最低的百分点。在以下示例中,查询会返回其薪水在数据集的最高的五个百分点之内的男雇员。

SELECT *
FROM ( SELECT Surname, Salary, PERCENT_RANK ( ) OVER ( ORDER BY Salary DESC ) "Rank"FROM Employees WHERE Sex IN ( 'M' )  ) AS DerivedTable ( Surname, Salary, Percent )
WHERE Percent < 0.05;

此查询会返回以下结果:
Surname Salary Percent
1 Scott 96300.00 0
2 Sheffield 87900.00 0.025
3 Lull 87900.00 0.025

PERCENT_RANK 函数相关推荐

  1. percent sql_使用SQL Server中的PERCENT_RANK函数计算SQL百分位数

    percent sql This article explores the SQL Server PERCENT_RANK analytical function to calculate SQL P ...

  2. [Mysql] PERCENT_RANK()函数 | CUME_DIST()函数

    美图欣赏2022/06/04 窗口函数的基本语法 <窗口函数> OVER ([PARTITION BY <用于分组的列>] ORDER BY <用于排序的列>) ※ ...

  3. OVER(PARTITION BY)函数用法

    OVER(PARTITION BY)函数介绍 开窗函数               Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是:对于每个组返 ...

  4. 获得供应商最近一次报价:OVER(PARTITION BY)函数用法的实际用法

    利用rownumber ,关键字partition进行小范围分页 方法一: --所有供应商对该产品最近的一次报价 with oa as ( select a.SupplierId ,UnitPrice ...

  5. sql decimal函数例子_leetcode题库-sql练习精讲系列--三、经典排名问题

    这是一个系列文章,这个系列的理念是通过一道题,搞懂一类题.涵盖了SQL面试最常考的知识点.搞懂这些题,面试时工作中sql不可能有问题. 文章分为引入问题-完整解析-答案-leetcode题和答案-知识 ...

  6. HIve窗口函数之CUME_DIST,PERCENT_RANK

    本博客使用数据与..一致. 1.CUME_DIST函数 CUME_DIST 小于等于当前值的行数/分组内总行数 SELECT cookieid, createtime, pv, CUME_DIST() ...

  7. MaxCompute常用函数(ODPS常用函数)

    场景:使用MaxCompute常用函数 记录:NO.251 MaxCompute是一项大数据计算服务,它能提供快速.完全托管的PB级数据仓库解决方案.小北刚使用这个产品时,那会叫做ODPS(Open ...

  8. mysql的排名函数怎么用_MySQL排名函数

    MySQL排名函数 MySQL使用一种排名功能,该函数使我们能够对数据库中分区的每一行进行排名.排名函数还是MySQL窗口函数的一部分. MySQL中的排名函数可以与以下子句一起使用: 他们总是使用O ...

  9. mysql排名函数使用

    1.percent_rank()函数 PERCENT_RANK()函数计算分区或结果集中行的百分位数排名这PERCENT_RANK()是一个窗口函数, 用于计算分区或结果集中行的百分位数. 以下显示了 ...

  10. oracle 排序的分析函数,Oracle分析函数用法详解

    OVER(PARTITION BY)开窗函数用法 开窗函数,Oracle从8.1.6开始提供开窗函数,开窗函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是: 对于每个组返回多行,而聚合函数对于 ...

最新文章

  1. mac 下如何使用lrzsz 上传下载文件
  2. 编译OpenJDK及JDK题外话
  3. jMeter CSV Data set config 的 sharing mode 和 Thread group loop 配合使用
  4. 用纯css3和html制作一些泡沫对话框
  5. #{}不自动改参数类型_我是干流动补胎的,想让我的柴油机气泵自动打气,怎么改装。谢谢。...
  6. 或许是 Nginx 上配置 HTTP2 最实在的教程了
  7. ubuntu默认播放器缺少解码器
  8. Android跨进程通信--AIDL原理解析
  9. MATLAB线性回归
  10. 最小生成树求最大比率 UVALive - 5713
  11. 最受商户关注的五大进销存软件,这份贴心排行榜秘籍请收好
  12. linux系统du指令,linux的du命令
  13. ”去他丫的北上广,老子要去成都定居了,Android-Binder机制及AIDL使用
  14. 网络与信息安全基础知识--网络安全
  15. android 四方向摇杆源码,手游摇杆(一)最简单的四方向摇杆
  16. 每天学一点flash(50) 反余切的应用
  17. Mysql导出逗号分隔的csv文件
  18. 使用 flickr API 上传并获取外链
  19. c语言:关于vs2012使用easyX的loadimage()加载资源图片
  20. manacher getmin

热门文章

  1. directive-自定义指令
  2. 天善智能8月18日上海线下沙龙分享主题— 金融领域的客户洞察与标签体系构建...
  3. sap是mysql数据库_sap系统用什么数据库
  4. 美通企业周刊 | 中国全球化品牌50强榜单发布;酩帝诗威士忌拍出近21万美元天价...
  5. Ubuntu下Linux常用命令练习作业题(1)
  6. 计算机主板品牌排行榜,电脑主板十大品牌排行榜
  7. 牛客网面试提错题集(1)
  8. 广东工业大学计算机专业分流,2017年广东工业大学大类招生学生专业分流工作小组...
  9. 紧贴潮流,初心未改:OpenInfra Days China升级回归,打造专属OpenStackers的开源大趴
  10. 戴尔启动修复无法自动修复此计算机,在 Dell 计算机上运行 Windows 启动修复