聚合函数
聚合函数将所有的行作为输入,并返回单个聚合值作为结果。
函数 |
描述 |
---|---|
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]) |
连接字符串表达式的值并在它们之间放置分隔符值。字符串末尾不添加分隔符时则分隔符的默认值为“,”。 |