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():累积百分比

 
posted on 2022-02-28 08:42  进击的许盈盈  阅读(1200)  评论(0编辑  收藏  举报