Apache Tajo - 聚合和窗口函数
本章详细介绍了聚合函数和窗口函数。
聚合函数
聚合函数根据一组输入值生成单个结果。 下表详细描述了聚合函数列表。
S.No. | 功能与描述 |
---|---|
1 | AVG(exp)
对数据源中所有记录的列进行平均。 |
2 | CORR(expression1, expression2)
返回一组数字对之间的相关系数。 |
3 | COUNT()
返回行数。 |
4 | MAX(expression)
返回所选列的最大值。 |
5 | MIN(expression)
返回所选列的最小值。 |
6 | SUM(expression)
返回给定列的总和。 |
7 | LAST_VALUE(expression)
返回给定列的最后一个值。 |
Window (窗口)函数
Window (窗口)函数在一组行上执行,并为查询中的每一行返回一个值。 术语"Window"(窗口)具有函数的行集的含义。
查询中的窗口函数使用 OVER() 子句定义Window(窗口)。
OVER()子句具有以下功能 −
- 定义窗口分区以形成行组。 (PARTITION BY 子句)
- 对分区内的行进行排序。 (ORDER BY 子句)
下表详细描述了窗口函数。
函数 | 返回类型 | 描述 |
---|---|---|
rank() | int | 返回当前行有间隙的排名。 |
row_num() | int | 返回其分区内的当前行,从 1 开始计数。 |
lead(value[, offset integer[, default any]]) | 与输入类型相同 | 返回在分区内当前行之后的偏移行处计算的值。 如果没有该行,则返回默认值。 |
lag(value[, offset integer[, default any]]) | 与输入类型相同 | 返回在分区内当前行之前的偏移行处计算的值。 |
first_value(value) | 与输入类型相同 | 返回输入行的第一个值。 |
last_value(value) | 与输入类型相同 | 返回输入行的最后一个值。 |