聚集函数
云原生数据仓库 AnalyticDB PostgreSQL 版兼容PostgreSQL中的聚集函数。本文简单列举云原生数据仓库 AnalyticDB PostgreSQL 版兼容的聚集函数及用法示例。
更多信息请参见PostgreSQL官方文档:聚集函数。
聚集函数
简介
聚集函数是指对一组数据执行计算并返回一定计算结果的函数。通常用于数据库中,对多个输入行进行计算,从而实现统计数据的目的。例如:计算平均值、最大值、总数等。应该注意的是,除了count
之外,当没有输入行时,这些函数返回空值,而不是零。且当没有输入行时,array_agg
返回null
而不是空数组。必要时,可以使用coalesce
函数将零或空数组替换为null
。
通用聚集函数
函数 | 参数类型 | 返回类型 | 描述 |
| 非数组类型,不建议临时使用row()包装后的类型作为输入。 | 与参数数据类型相同。 | 输入值(包括空值)被连接到一个数组。 |
| 任意数组类型。 | 与参数数据类型相同。 | 输入的数组被连接到一个更高维的数组中 (输入必须都具有相同的维度且不能为空或NULL)。 |
|
| 对于整数类型参数返回 | 所有非空输入值的平均值(即算术平均)。 |
|
| 与参数数据类型相同。 | 所有非空输入值的按位与。当没有非空值时结果是空值。 |
|
| 与参数数据类型相同。 | 所有非空输入值的按位或。当没有非空值时结果是空值。 |
|
|
| 当所有输入值为真则结果为真,否则为假。 |
|
|
| 至少存在一个输入值为真时结果为真,否则为假。 |
| - |
| 输入的行数。 |
|
|
| 非空的输入行的数目。 |
|
|
| 等同于 |
|
|
| 将值(含空值)聚集成一个JSON数组。 |
|
|
| 把值(含空值)聚集成一个JSON数组。 |
|
|
| 将 |
|
|
| 将 |
| 任意数组、数字、字符串、日期或时间、网络或枚举类型,或这些类型的数组。 | 与参数数据类型相同。 | 所有非空输入值中的最大值。 |
| 任意数组、数字、字符串、日期或时间、网络或枚举类型,或这些类型的数组。 | 与参数数据类型相同。 | 所有非空输入值中的最小值。 |
| ( | 与参数数据类型相同。 | 将非空输入值连成一个字符串,用分隔符分隔。 |
|
| 对 | 所有非空输入值的和。 |
|
|
| 连接非空XML值。 |
统计相关的聚集函数
函数 | 参数类型 | 返回类型 | 描述 |
|
|
| 相关系数。 |
|
|
| 总体协方差。 |
|
|
| 样本协方差。 |
|
|
| 自变量的平均值 |
|
|
| 因变量的平均值 |
|
|
| 两个表达式均不为空的行的数目。 |
|
|
| 由( |
|
|
| 相关系数的平方。 |
|
|
| 由( |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 浮点类型参数为 |
|
|
| 浮点类型参数为 | 总体标准差。 |
|
| 浮点类型参数为 | 样本标准差。 |
|
| 浮点类型参数为 |
|
|
| 浮点类型参数为 | 总体方差(总体标准差的平方)。 |
|
| 浮点类型参数为 | 样本方差(样本标准差的平方)。 |