第10章-窗口函数

Window Functions

以下内置的窗口函数是PostgreSQL数据库的Greenplum扩展。所有的窗口函数都是不可变的。有关窗口函数的更多信息,请参阅“Greenplum数据库管理员指南”中的“窗口表达式”。

 

 

Function

Return

Full Syntax

描述

Type

cume dist()

double

CUME DIST() OVER ( [PARTITION BY

计算一组值中的值的累积分布。 具有相同值的行始终评估为相同的累积分布值。

precision

expr ] order by expr )

dense rank()

bigint

DENSE RANK () OVER ( [PARTITION

计算有序行组中行的排名而不跳过排名值。 具有相同值的行赋予相同的等级值。

by expr ] order by expr )

first

same as input expr type

FIRSTVALUE( expr ) OVER ([PARTITION BY expr] ORDER BY

返回一组有序的值中的第一个值。

value( expr)

expr [rows|range frame_expr ])

lag(expr [,offset]

same as input expr type

lag( expr [, offset ] [, default ])

提供对同一个表的多个行的访问,而无需进行自加入。 给定从查询返回的一系列行和游标的位置,lag提供对位于该位置之前的给定物理偏移处的行的访问。 默认偏移量为1.默认设置如果偏移量超出窗口范围返回的值。 如果未指定default,则默认值为null。

[,default])

OVER ( [PARTITION BY expr ] ORDER BY expr )

last valueexpr

same as input expr type

LAST VALUE( expr) OVER ([PARTITION BY expr] ORDER BY expr [ROWS|RANGE )

返回一组有序的值中的最后一个值。

lead(expr [,offset]

same as input expr type

LEAD( expr [, offset]

提供对同一个表的多个行的访问,而无需进行自加入。 给定从查询返回的一系列行和游标的位置,lead提供对位于该位置之后的给定物理偏移处的行的访问。

[,default])

[,xppddefailt]) OVER ( [PARTITION BY expr] ORDER BY expr )

如果未指定偏移量,则默认偏移量为1.如果偏移量超出窗口范围,则会设置返回的值。 如果未指定default,则默认值为null。

ntile(expr)

bigint

NTILE(expr) OVER ( [PARTITION BY expr] ORDER BY expr )

将一个有序数据集划分成多个桶(由expr定义),并为每一行分配一个桶号。

percent rank()

double

PERCENT RANK () OVER ( [PARTITION BY expr] ORDER BY expr )

计算假想行R减1的等级,小于被评估的行数(在一个窗口分区内)。

precision

rank()

bigint

RANK () OVER ( [PARTITION BY expr] ORDER BY expr )

计算一组有序的值中的行的排名。 排名标准相等的行的排名相同。 绑定行的数量被添加到等级号码来计算下一个等级值。 在这种情况下排名可能不是连续的数字。

row number()

bigint

ROW NUMBER () OVER ( [PARTITION BY expr] ORDER BY expr )

为其应用的每一行(窗口分区中的每一行或查询的每一行)分配一个唯一编号。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值