更新时间:2024-04-18 GMT+08:00
分享

聚合函数

聚合函数将所有的行作为输入,并返回单个聚合值作为结果。

表1 聚合函数

函数

描述

COUNT([ ALL ] expression | DISTINCT expression1 [, expression2]*)

默认情况下或使用关键字 ALL,返回不为 NULL 的表达式的输入行数。使用 DISTINCT 则对所有值去重后计算。

COUNT(*) | COUNT(1)

返回输入行数。

AVG([ ALL | DISTINCT ] expression)

默认情况下或使用关键字 ALL,返回所有输入行中表达式的平均值(算术平均值)。使用 DISTINCT 则对所有值去重后计算。

SUM([ ALL | DISTINCT ] expression)

默认情况下或使用关键字 ALL,返回所有输入行的表达式总和。使用 DISTINCT 则对所有值去重后计算。

MAX([ ALL | DISTINCT ] expression)

默认情况下或使用关键字 ALL,返回所有输入行中表达式的最大值。使用 DISTINCT 则对所有值去重后计算。

MIN([ ALL | DISTINCT ] expression )

默认情况下或使用关键字 ALL,返回所有输入行中表达式的最小值。使用 DISTINCT 则对所有值去重后计算。

STDDEV_POP([ ALL | DISTINCT ] expression)

默认情况下或使用关键字 ALL,返回所有输入行中表达式的总体标准偏差。使用 DISTINCT 则对所有值去重后计算。

STDDEV_SAMP([ ALL | DISTINCT ] expression)

默认情况下或使用关键字 ALL,返回所有输入行中表达式的样本标准偏差。使用 DISTINCT 则对所有值去重后计算。

VAR_POP([ ALL | DISTINCT ] expression)

默认情况下或使用关键字 ALL,返回所有输入行中表达式的总体方差(总体标准差的平方)。使用 DISTINCT 则对所有值去重后计算。

VAR_SAMP([ ALL | DISTINCT ] expression)

默认情况下或使用关键字 ALL,返回所有输入行中表达式的样本方差(样本标准差的平方)。使用 DISTINCT 则对所有值去重后计算。

COLLECT([ ALL | DISTINCT ] expression)

默认情况下或使用关键字 ALL,返回跨所有输入行的多组表达式。NULL 值将被忽略。使用 DISTINCT 则对所有值去重后计算

VARIANCE([ ALL | DISTINCT ] expression)

VAR_SAMP() 的同义方法。

RANK()

返回值在一组值中的排名。结果是 1 加上分区顺序中当前行之前或等于当前行的行数。排名在序列中不一定连续。

DENSE_RANK()

返回值在一组值中的排名。结果是一加先前分配的等级值。与函数 rank 不同,dense_rank 不会在排名序列中产生间隙。

ROW_NUMBER()

在窗口分区内根据 rows 的排序为每一行分配一个唯一的序列号,从一开始。ROW_NUMBER 和 RANK 相似。ROW_NUMBER 按 顺序对所有行进行编号(例如 1,2,3,4,5)。RANK 为等值 row 提供相同的序列值(例如 1,2,2,4,5)。

LEAD(expression [, offset] [, default])

返回窗口中当前行之后第 offset 行处的表达式值。offset 的默认值为 1,default 的默认值为 NULL。

LAG(expression [, offset] [, default])

返回窗口中当前行之前第 offset 行处的表达式值。offset 的默认值为 1,default 的默认值为 NULL。

FIRST_VALUE(expression)

返回一组有序值中的第一个值。

LAST_VALUE(expression)

返回一组有序值中的最后一个值。

LISTAGG(expression [, separator])

连接字符串表达式的值并在它们之间放置分隔符值。字符串末尾不添加分隔符时则分隔符的默认值为“,”。

相关文档