PERCENT_RANK 函数
与 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 函数相关推荐
- percent sql_使用SQL Server中的PERCENT_RANK函数计算SQL百分位数
percent sql This article explores the SQL Server PERCENT_RANK analytical function to calculate SQL P ...
- [Mysql] PERCENT_RANK()函数 | CUME_DIST()函数
美图欣赏2022/06/04 窗口函数的基本语法 <窗口函数> OVER ([PARTITION BY <用于分组的列>] ORDER BY <用于排序的列>) ※ ...
- OVER(PARTITION BY)函数用法
OVER(PARTITION BY)函数介绍 开窗函数 Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是:对于每个组返 ...
- 获得供应商最近一次报价:OVER(PARTITION BY)函数用法的实际用法
利用rownumber ,关键字partition进行小范围分页 方法一: --所有供应商对该产品最近的一次报价 with oa as ( select a.SupplierId ,UnitPrice ...
- sql decimal函数例子_leetcode题库-sql练习精讲系列--三、经典排名问题
这是一个系列文章,这个系列的理念是通过一道题,搞懂一类题.涵盖了SQL面试最常考的知识点.搞懂这些题,面试时工作中sql不可能有问题. 文章分为引入问题-完整解析-答案-leetcode题和答案-知识 ...
- HIve窗口函数之CUME_DIST,PERCENT_RANK
本博客使用数据与..一致. 1.CUME_DIST函数 CUME_DIST 小于等于当前值的行数/分组内总行数 SELECT cookieid, createtime, pv, CUME_DIST() ...
- MaxCompute常用函数(ODPS常用函数)
场景:使用MaxCompute常用函数 记录:NO.251 MaxCompute是一项大数据计算服务,它能提供快速.完全托管的PB级数据仓库解决方案.小北刚使用这个产品时,那会叫做ODPS(Open ...
- mysql的排名函数怎么用_MySQL排名函数
MySQL排名函数 MySQL使用一种排名功能,该函数使我们能够对数据库中分区的每一行进行排名.排名函数还是MySQL窗口函数的一部分. MySQL中的排名函数可以与以下子句一起使用: 他们总是使用O ...
- mysql排名函数使用
1.percent_rank()函数 PERCENT_RANK()函数计算分区或结果集中行的百分位数排名这PERCENT_RANK()是一个窗口函数, 用于计算分区或结果集中行的百分位数. 以下显示了 ...
- oracle 排序的分析函数,Oracle分析函数用法详解
OVER(PARTITION BY)开窗函数用法 开窗函数,Oracle从8.1.6开始提供开窗函数,开窗函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是: 对于每个组返回多行,而聚合函数对于 ...
最新文章
- mac 下如何使用lrzsz 上传下载文件
- 编译OpenJDK及JDK题外话
- jMeter CSV Data set config 的 sharing mode 和 Thread group loop 配合使用
- 用纯css3和html制作一些泡沫对话框
- #{}不自动改参数类型_我是干流动补胎的,想让我的柴油机气泵自动打气,怎么改装。谢谢。...
- 或许是 Nginx 上配置 HTTP2 最实在的教程了
- ubuntu默认播放器缺少解码器
- Android跨进程通信--AIDL原理解析
- MATLAB线性回归
- 最小生成树求最大比率 UVALive - 5713
- 最受商户关注的五大进销存软件,这份贴心排行榜秘籍请收好
- linux系统du指令,linux的du命令
- ”去他丫的北上广,老子要去成都定居了,Android-Binder机制及AIDL使用
- 网络与信息安全基础知识--网络安全
- android 四方向摇杆源码,手游摇杆(一)最简单的四方向摇杆
- 每天学一点flash(50) 反余切的应用
- Mysql导出逗号分隔的csv文件
- 使用 flickr API 上传并获取外链
- c语言:关于vs2012使用easyX的loadimage()加载资源图片
- manacher getmin
热门文章
- directive-自定义指令
- 天善智能8月18日上海线下沙龙分享主题— 金融领域的客户洞察与标签体系构建...
- sap是mysql数据库_sap系统用什么数据库
- 美通企业周刊 | 中国全球化品牌50强榜单发布;酩帝诗威士忌拍出近21万美元天价...
- Ubuntu下Linux常用命令练习作业题(1)
- 计算机主板品牌排行榜,电脑主板十大品牌排行榜
- 牛客网面试提错题集(1)
- 广东工业大学计算机专业分流,2017年广东工业大学大类招生学生专业分流工作小组...
- 紧贴潮流,初心未改:OpenInfra Days China升级回归,打造专属OpenStackers的开源大趴
- 戴尔启动修复无法自动修复此计算机,在 Dell 计算机上运行 Windows 启动修复