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