mysql 分布函数 PERCENT_RANK()、CUME_DIST()

 

 

PERCENT_RANK()

每行按照公式(rank-1) / (rows-1)进行计算。其中,rank为RANK()函数产生的序号,rows为当前窗口的记录总行数

CUME_DIST()

分组内小于、等于当前rank值的行数 / 分组内总行数

SELECT id, score
, rank() OVER (ORDER BY score DESC) AS 'rank'
, dense_rank() OVER (ORDER BY score DESC) AS 'dense_rank'
, row_number() OVER (ORDER BY id DESC) AS 'row_number'
, row_number() OVER (partition by score ORDER BY id DESC) AS 'row_number1'
, PERCENT_RANK() OVER (ORDER BY score DESC) AS 'PERCENT_RANK'
, CUME_DIST() OVER (ORDER BY score) AS 'CUME_DIST'
, CUME_DIST() OVER (PARTITION BY score ORDER BY id) AS 'CUME_DIST1'
FROM scores
order by id

 

https://blog.csdn.net/Hzfeng666/article/details/109612895

posted @ 2021-08-26 16:48  草木物语  阅读(1033)  评论(0编辑  收藏  举报