玩转PostgreSQL(八):窗口函数执行计算
Window Functions 概览
思维导图

表格总结:
| Name | 说明 |
|---|---|
| CUME_DIST | 返回当前行的相对排名。 |
| DENSE_RANK | 在其分区中对当前行进行无间隙排名。 |
| FIRST_VALUE | 返回一个针对其分区中第一行的计算值。 |
| LAG | 返回一个在分区内当前行之前的指定物理偏移行的计算值。 |
| LAST_VALUE | 返回一个针对其分区中最后一行的计算值。 |
| LEAD | 返回一个在该行计算的值,该行的偏移量为 |
| NTILE | 在分区中的当前行之后的行的值。 |
| NTH_VALUE | 尽可能平均分配分区中的行,并给每行分配一个整数,从1开始到参数值。 |
| PERCENT_RANK | 返回一个针对有序分区中第n行的计算值。 |
| RANK | 返回当前行的相对排名(rank-1)/(总行-1)。 |
| ROW_NUMBER | 对当前行在其分区中的空隙进行排序。 |
?PostgreSQL CUME_DIST 函数
?简介: 在本节中,我们将学习CUME_DIST()函数来计算一个数值在一组数值中的累积分布。
?语法
下面说明CUME_DIST()函数的语法:
CUME_DIST() OVER (
[PARTITION BY partition_expression, ... ]
ORDER BY sort_expression [ASC | DESC], ...
)
?入参
CUME_DIST()函数有2个子句:
PARTITION BY
PARTITION BY 子句按行划分为多个应用函数的分区。
PARTITION BY 子句是可选的。如果你不使用它,函数会将整个结果集视为单个分区。
ORDER BY
ORDER BY 子句对函数每个分区中的行进行排序。
?返回值
CUME_DIST()函数返回大于0且小于或等于1的双精度值:
0 < CUME_DIST()