📜  PostgreSQL – PERCENT_RANK函数(1)

📅  最后修改于: 2023-12-03 15:18:38.487000             🧑  作者: Mango

PostgreSQL – PERCENT_RANK函数

PostgreSQL是一种强大的关系型数据库管理系统,具有广泛的功能集和高性能。PERCENT_RANK函数是一种窗口函数,用于计算一个值在排序结果中所占的百分比排名,返回一个介于0到1之间的值。

语法
PERCENT_RANK() OVER (
    [PARTITION BY partition_expression, ... ]
    ORDER BY sort_expression [ASC | DESC], ...
)

参数说明:

  • PARTITION BY partition_expression, ...:可选参数,指定分区表达式。如果未指定,则查询结果将在所有行之间进行排名。
  • ORDER BY sort_expression [ASC | DESC], ...:必需参数,定义排序表达式和排序顺序。
示例

在示例表employee中,使用PERCENT_RANK函数计算员工工资排名的百分比。

SELECT name, salary, PERCENT_RANK() OVER (
    ORDER BY salary DESC
) AS "Percent Rank"
FROM employee;

输出结果:

| name | salary | Percent Rank | |---------|--------|--------------| | John | 70000 | 0.0 | | Peter | 52000 | 0.333333333 | | Alice | 45000 | 0.666666667 | | Olivia | 38000 | 1.0 |

以上示例中,按降序排列员工工资,并通过PERCENT_RANK函数分配每位员工的工资排名的百分比。

总结

PERCENT_RANK函数是一种非常有用的窗口函数,可用于计算排序结果中每个值的百分比排名。该函数的语法非常简单,使用起来也非常方便。添加PARTITION BY参数使其更加灵活和有用。