1. percent_rank() over (order by .....)
返回某列或某列组合后每行的百分比排序
如下:
with cte as
(
  SELECT ROWNUM as n
  FROM DUAL 
  CONNECT BY ROWNUM <= 10
)
select n,percent_rank() over (order by n) as prk
from cte
;
结果如下:

PRK为每个N值的相对位置的百分比,该结果看起来会有些奇怪.10个数中的第2个数应该是排在20%才对,但却不是一个整数.

其实内部的逻辑为:

将n进行排序,注意第一位是0而不是1:

然后用它们的序号除以最大的序号则得到上述的结果.

2.percent_rank(....) within group ....

用来求某一个数在一个集合中的对应位置百分比:

with cte as
(
  SELECT ROWNUM as n
  FROM DUAL 
  CONNECT BY ROWNUM <= 10
)
select percent_rank(8) within group (order by n) as prk
from cte
;

结果:

PRK
0.7

这个是如何得到的呢?

是将 (8-1)/10 和第一个例子有些区别.

转载于:https://www.cnblogs.com/champaign/p/5882037.html

PERCENT_RANK相关推荐

  1. R语言dplyr包排序及序号函数实战(row_number、ntile、min_rank、dense_rank、percent_rank、cume_dist)

    R语言dplyr包排序及序号函数实战(row_number.ntile.min_rank.dense_rank.percent_rank.cume_dist) 目录 R语言dplyr包排序及序号函数实 ...

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

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

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

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

  4. 解决Spark窗口统计函数rank()、row_number()、percent_rank()的OOM问题

    目录 1.    窗口函数功能介绍 一个简单的例子 一个复杂的例子 2.数据量过大时的OOM问题 问题及原因 解决方法1:用SQL处理 解决方法2:转为rdd进行处理 解决方法3:将数据量过多的分组进 ...

  5. HIve窗口函数之CUME_DIST,PERCENT_RANK

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

  6. hive中开窗函数 :percent_rank()的含义

    这是hql语句 查询结果 percent_rank() 含义就是 当前行-1 / 当前组总行数-1 比如第一行: 1-1/14-1 = 0 : 第二行:2-1/14-1=0.07692,,,,,,

  7. pandas中计算分位数的方法describe,quantile,以及sql中计算分位数的方法percentile_approx,percent_rank() over()

    1.pandas中计算分位数的方法describe,quantile 准备一张表 def test():df = pd.DataFrame({'a':[1,2,3],'b':[4,5,6],'c':[ ...

  8. MySQL窗口函数—分布函数- CUME_DIST和PERCENT_RANK

    CUME_DIST() 用途:分组内小于.等于当前rank值的行数 / 分组内总行数 应用场景:查询小于等于当前薪资(salary)的比例 select dname,ename,salary,cume ...

  9. Oracle SQL高级编程——分析函数(窗口函数)全面讲解

    Oracle SQL高级编程--分析函数(窗口函数)全面讲解 注:本文来源于:<Oracle SQL高级编程--分析函数(窗口函数)全面讲解> 概述 分析函数是以一定的方法在一个与当前行相 ...

最新文章

  1. Lombok!代码简洁神器还是代码“亚健康”元凶?
  2. ADSL参数BITSWAP作用
  3. struts2异常ognl.MethodFailedException: Method setId failed for object
  4. jspwiki mysql_Wiki.js初体验
  5. 《SAP入门经典(第4版•修订版)》——2.5 4种视角相互结合
  6. IBM PHP教程链接
  7. ElasticSearch5.4X 搜索引擎查询java工具类
  8. JavaScript(四)——具体对象(Math、字符串对象、Date对象、Number对象及Boolean对象)
  9. 克罗谈投资策略04_感觉与现实
  10. 可能存在无限递归_无限分类递归+排序解剖
  11. Python单元测试框架——unittest
  12. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_6-3.微信网站扫码支付介绍...
  13. html获取屏幕的高度,js如何获取屏幕高度
  14. Linux系统配置ftps服务(显式)
  15. u盘大计算机视频,处理视频太大在无法从电脑复制到U盘的操作方法
  16. 解决:Elasticsearch failed to map source
  17. 2018年10月29日英语学习
  18. 买游戏来运营_游戏化思维帮你玩转社群运营
  19. 分析N沟道MOS管和P沟道MOS管在电路中的详细应用
  20. 计算机Excel怎么弄迷你图,【迷你图excel在哪里】Excel如何绘制迷你图

热门文章

  1. 卖VR眼镜需谨慎,已经有30多人因传播VR小黄片被抓了
  2. c++变幻的矩阵_C++课程设计c++矩阵类(简洁版)
  3. matlab yalmip在微电网优化调度中的应用(一)
  4. 【树莓派】树莓派TXD、RXD的配置与使用可实现与STM32的通信
  5. 全国首个民企卫星智能AIT中心落户浙江台州 吉利全面布局商业卫星领域
  6. 2万字深度解读麦克斯韦方程组,最美的方程,你也能懂她的美
  7. SAS学习8、9(方差分析、anova过程、相关分析和回归分析、corr过程、reg过程、多元线性回归、stepwise)
  8. 计算机科学与技术专业师范与非师范,同一个专业,师范和非师范到底有啥区别?...
  9. frame-relay 学习笔记
  10. java 框架GAT_GAT2.0使用文档(组合接口测试)