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 开始计数。 |
前导(值[,偏移整数[,默认任何]]) | 与输入类型相同 | 返回在分区内当前行之后的偏移行处计算的值。如果没有这样的行,将返回默认值。 |
滞后(值[,偏移整数[,默认任何]]) | 与输入类型相同 | 返回在分区内当前行之前的偏移行处计算的值。 |
第一个值(值) | 与输入类型相同 | 返回输入行的第一个值。 |
最后一个值(值) | 与输入类型相同 | 返回输入行的最后一个值。 |