文档首页 > > SQL语法参考> 内置函数> 分析窗口函数

分析窗口函数

分享
更新时间: 2019/12/11 GMT+08:00

窗口函数用于在与当前输入值相关的一组值上执行相关函数计算(包括在GROUP BY中使用的聚集函数,如sum函数、max函数、min函数、count函数、avg函数),此外分析窗口函数还包括如表1中所示的函数。窗口是由一个OVER子句定义的多行记录,窗口函数作用于一个窗口。

表1 函数介绍

函数

返回值

描述

first_value(col)

参数的数据类型

返回结果集中某列第一条数据的值。

last_value(col)

参数的数据类型

返回结果集中某列最后条数据的值。

lag (col,n,DEFAULT)

参数的数据类型

用于统计窗口内往上第n行值。第一个参数为列名,第二个参数为往上第n行(可选,默认为1),第三个参数为默认值(当往上第n行为NULL时候,取默认值,如不指定,则为NULL)。

lead (col,n,DEFAULT)

参数的数据类型

用于统计窗口内往下第n行值。第一个参数为列名,第二个参数为往下第n行(可选,默认为1),第三个参数为默认值(当往下第n行为NULL时候,取默认值,如不指定,则为NULL)。

row_number() over (order by col_1[,col_2 ...])

INT

为每一行指派一个唯一的编号。

rank()

INT

计算一个值在一组值中的排位。如果出现并列的情况,RANK函数会在排名序列中留出空位。

cume_dist()

DOUBLE

计算某个值在一行中的相对位置。

percent_rank()

DOUBLE

为窗口的ORDER BY子句所指定列中值的返回秩,但以介于0和1之间的小数形式表示,计算方法为 (RANK - 1)/(- 1)。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区