SQL 开窗函数:percent_rank()和cume_dist()累积百分比


语句:比较增加SQL记录比例的结果
select
tag, percent_rank() over(order by tag asc), cume_dist() over(order by tag asc) from examination_info;

图一

 图二

 图三

 

图四

 

 

 

 percent_rank():用于返回某个数值在数据集中的百分比排位,对顺序敏感,取决over里的order by的顺序

搜到的公式:(rank - 1) / (total_rows - 1) #减去1表示去掉该数值个数做评估
MySQL PERCENT_RANK函数-之路教程 (onitroad.com)

其他解释:比如图一的SQL,SQL比它小的只有pyhon一个排前面,大于等于它的一个排后面,所以1/2=50%
图二:
SQL比它小的只有pyhon一个排前面,大于等于它的有2个,所以1/(1+2)
          图三:SQL比它小的只有pyhon一个排前面,大于等于它的有3个,所以1/(1+3)
          图四:SQL比它小的只有pyhon2个排前面,大于等于它的有2个,所以2/(2+2)=0.5
排位函数RANK和PERCENTRANK的用法比较 - 知乎 (zhihu.com)

cume_dist():累积百分比

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM