Apache Tajo 聚合和窗口函数


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

聚合函数


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

S.No. 功能说明
1 AVG(exp)

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

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

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

3 COUNT()

返回行数。

4 MAX(表达式)

返回所选列的最大值。

5 最小值(表达式)

返回所选列的最小值。

6 总和(表达式)

返回给定列的总和。

7 LAST_VALUE(表达式)

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

窗口函数


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

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

The OVER() 子句具有以下能力:

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

下表详细描述了窗口功能。

Function 返回类型 描述
rank() int 返回具有间隙的当前行的排名。
行数() int 返回其分区内的当前行,从 1 开始计数。
前导(值[,偏移整数[,默认任何]]) 与输入类型相同 返回在分区内当前行之后的偏移行处计算的值。如果没有这样的行,将返回默认值。
滞后(值[,偏移整数[,默认任何]]) 与输入类型相同 返回在分区内当前行之前的偏移行处计算的值。
第一个值(值) 与输入类型相同 返回输入行的第一个值。
最后一个值(值) 与输入类型相同 返回输入行的最后一个值。