示例
示例
SELECT name, score,
ROUND(PERCENT_RANK() OVER (ORDER BY score DESC), 4) AS pr
FROM exams;| 范围 | 0 ~ 1 |
|---|---|
| 边界 | 数值居首者 0,数值居末者 1(分区内) |
| 对比 | CUME_DIST 是“小于等于当前值的比例”,并列行为不同 |
相对排名 = (名次 - 1) / (总行数 - 1),取值 0 到 1;用于“排在前面百分之多少”。
SELECT name, score,
ROUND(PERCENT_RANK() OVER (ORDER BY score DESC), 4) AS pr
FROM exams;| 范围 | 0 ~ 1 |
|---|---|
| 边界 | 数值居首者 0,数值居末者 1(分区内) |
| 对比 | CUME_DIST 是“小于等于当前值的比例”,并列行为不同 |