語句:比較增加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():累積百分比