聚合和窗口函数


本章详细解释了聚合函数和窗口函数。

聚合函数

聚合函数根据一组输入值生成单个结果。下表详细描述了聚合函数列表。

编号 功能说明
1 平均(经验值)

对数据源中所有记录的列进行平均。

2 CORR(表达式 1, 表达式 2)

返回一组数字对之间的相关系数。

3 数数()

返回行数。

4 MAX(表达式)

返回所选列的最大值。

5 最小值(表达式)

返回所选列的最小值。

6 SUM(表达式)

返回给定列的总和。

7 LAST_VALUE(表达式)

返回给定列的最后一个值。

窗函数

窗口函数在一组行上执行,并为查询中的每一行返回一个值。术语“窗口”具有函数的行集的含义。

查询中的窗口函数使用 OVER() 子句定义窗口。

OVER ()子句具有以下功能 -

  • 定义窗口分区以形成行组。(PARTITION BY 子句)
  • 对分区内的行进行排序。(ORDER BY 子句)

下表详细描述了窗口函数。

功能 返回类型 描述
秩() 整数 返回当前行的有间隙的排名。
行号() 整数 返回其分区内的当前行,从 1 开始计数。
引导(值[,偏移整数[,默认任意]]) 与输入类型相同 返回在分区内当前行之后的偏移行处计算的值。如果没有该行,则返回默认值。
滞后(值[,偏移整数[,默认任意]]) 与输入类型相同 返回在分区内当前行之前的偏移行处计算的值。
第一个值(值) 与输入类型相同 返回输入行的第一个值。
最后一个值(值) 与输入类型相同 返回输入行的最后一个值。