SQL学习之开窗函数-内置函数盘点

Posted heisenburg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL学习之开窗函数-内置函数盘点相关的知识,希望对你有一定的参考价值。

开窗函数

开窗函数提供了跨越行集执行计算的能力,行集中的行通过某种方式与当前查询行联系在一起。

内置开窗函数列表见表-1。注意调用这些函数必须使用开窗函数语法;也就是需要加上OVER子句。

除了这些函数,任何内置和自定义的聚合函数也可以作为开窗函数使用。聚合函数只有当在调用语句后面加上OVER子句后才会当作开窗函数执行,否则他们就是正常的聚合函数。

表1-常见的开窗函数

函数  返回值类型  描述
row_number() bigint 组内当前行的序号,从1开始
rank() bigint 有间隔排名,多个相同排名的行,各行排名与相同排名行中第一行的行号(即row_number)一致
dense_rank()  bigint 无间隔排名, 这个函数讲相同排名行作为一个整体组进行计数
percent_rank()  double precision  当前行的相对排名:(rank -1 )/(total rows -1)
 cume_dist()  double precision  当前行的相对排名:(当前行前面的行数或者当前行的同序行的行数)/(总行数)
 ntile(num_buckets integer)  integer  从1开始到给定参数的整数,将分区内的行尽量均匀分割
 lag(value any [, offset integer [, default any ]])  same type as value 在分区内从当前行向上移动offset行,函数返回的是这行给定的值;如果没有那样的行,则返回默认值;offset和default都是针对当前行的。如果缺省,offset默认为1,default默认为null。
 lead(value any [, offset integer [, default any ]])  same type as value 在分区内从当前行向下移动offset行,函数返回的是这行给定的值;如果没有那样的行,则返回默认值;offset和default都是针对当前行的。如果缺省,offset默认为1,default默认为null。
 first_value(value any)  same type as value  返回窗口的第一行给定的值
 last_value(value any)  same type as value  返回窗口的最后一行给定的值
 nth_value(value anynth integer)  same type as value  返回窗口第nth行给定的值(从1开始数),如果没有第nth行则为null

以上是关于SQL学习之开窗函数-内置函数盘点的主要内容,如果未能解决你的问题,请参考以下文章

python3学习之内置函数

python学习之- 内置函数

python学习之-类的内置函数

Kotlin学习之---- 常见内置函数的总结apply,with,let,also,run....

Pyython学习之函数

开窗函数