Apache Tajo 简明教程

Aggregate & Window Functions

本章详细说明了聚合和窗口函数。

Aggregation Functions

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

S.No.

Function & Description

1

AVG(exp) 对数据源中所有记录的列求平均值。

2

CORR(expression1, expression2) 返回一组数值对之间的相关系数。

3

COUNT()Returns the number rows.

4

MAX(expression) 返回所选列的最大值。

5

MIN(expression) 返回所选列的最小值。

6

SUM(expression) 返回给定列的总和。

7

LAST_VALUE(expression) 返回给定列的最后值。

Window Function

窗口函数针对一组行执行,并为查询中的每一行返回一个单值。术语窗口表示供函数使用的行集。

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

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

  1. 定义窗口分区,以便形成行组。(PARTITION BY 子句)

  2. 对分区中的行进行排序。(ORDER BY 子句)

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

Function

Return type

Description

rank()

int

返回当前行的等级(带间隙)。

row_num()

int

返回它所在分区中的当前行,从 1 开始计数。

lead(value[, offset integer[, default any]])

Same as input type

返回当前行所在分区内,根据偏移行数,对行求值的结果。如果不存在这样的行,则将返回默认值。

lag(value[, offset integer[, default any]])

Same as input type

返回当前行所在分区内,根据偏移行数,对行求值的结果。

first_value(value)

Same as input type

返回输入行的第一个值。

last_value(value)

Same as input type

返回输入行的最后一个值。