Hologres兼容PostgreSQL,支持使用标准的PostgreSQL语法进行开发。

Hologres已支持的通用聚合函数列表如下。当前Hologres版本支持的函数是PostgreSQL的一个子集,函数的使用方法请参见通用聚合函数
函数名 描述 用例 结果
array_agg(bigint) 将BIGINT类型表达式的值串联到数组中。 array_agg(c1) {1,2}
array_agg(bool) 将BOOL类型表达式的值串联到数组中。 array_agg(c1) {true,false}
array_agg(text) 将TEXT类型表达式的值串联到数组中。 array_agg(c1) {a,b}
array_agg(float8) 将FLOAT8类型表达式的值串联到数组中。 array_agg(c1) {1.1,2.2}
array_agg(float4) 将FLOAT4类型表达式的值串联到数组中。 array_agg(c1) {1.1,2.2}
array_agg(int) 将INT类型表达式的值串联到数组中。 array_agg(c1) {1, 2}
avg(bigint) 求BIGINT类型表达式中非空值的平均值。 avg(c1) 2.000000
avg(float8) 求FLOAT8类型表达式中非空值的平均值。 avg(c1) 2.000000
avg(float4) 求FLOAT4类型表达式中非空值的平均值。 avg(c1) 2.000000
avg(int) 求INT类型表达式中非空值的平均值。 avg(c1) 2.000000
bit_and(bigint) 对BIGINT类型表达式中的非空值执行按位与运算。 bit_and(c1) 0
bit_and(int) 对INT类型表达式中的非空值执行按位与运算。 bit_and(c1) 0
bit_or(bigint) 对BIGINT类型表达式中的非空值执行按位或运算。 bit_or(c1) 3
bit_or(int) 对INT类型表达式中的非空值执行按位或运算。 bit_or(c1) 3
bool_and(bool) 如果BOOL表达式的值均为TRUE,则函数结果返回TRUE,否则返回FALSE。 bool_and(c1) f
bool_or(bool) 如果BOOL表达式的值包含TRUE,则函数结果返回TRUE,否则返回FALSE。 bool_or(c1) t
cout(*) 返回指定表的行数。 count(*) 3
cout(bigint) 求BIGINT类型表达式的输入行数。
说明 BIGINT类型表达式的值不为NULL。
count(c1) 3
cout(numeric) 求NUMERIC类型表达式的输入行数。
说明 NUMERIC类型表达式的值不为NULL。
count(c1) 3
every(bool) 如果BOOL表达式的值均为TRUE,则函数结果返回TRUE,否则返回FALSE。
max(bigint) 求BIGINT类型表达式的最大值。 max(c1) 3
max(float8) 求FLOAT8类型表达式的最大值。 max(c1) 3.0
max(float4) 求FLOAT4类型表达式的最大值。 max(c1) 3.0
max(int) 求INT类型表达式的最大值。 max(c1) 3
max(numeric) 求NUMERIC类型表达式的最大值。 max(c1) 3.0
min(bigint) 求BIGINT类型表达式的最小值。 min(c1) 1
min(float8) 求FLOAT8类型表达式的最小值。 min(c1) 1.0
min(float4) 求FLOAT4类型表达式的最小值。 min(c1) 1.0
min(int) 求INT类型表达式的最小值。 min(c1) 1
min(numeric) 求NUMERIC类型表达式的最小值。 min(c1) 1.0
sum(bigint) 求BIGINT类型表达式所有值的总和。 sum(c1) 6
sum(float8) 求FLOAT8类型表达式所有值的总和。 sum(c1) 6.0
sum(float4) 求FLOAT4类型表达式所有值的总和。 sum(c1) 6.0
sum(int) 求INT类型表达式所有值的总和。 sum(c1) 6
sum(numeric) 求NUMERIC类型表达式所有值的总和。 sum(c1) 6.0
string_agg(expression, delimiter) 使用指定分隔符将指定表达式的非空值串联成字符串。 string_agg(c1, '-') a-b-c
corr(Y, X) 求相关系数。 corr(c1, c2)
covar_pop(Y, X) 求总体协方差。 covar_pop(c1, c2)
covar_samp(Y, X) 求样本协方差。 covar_samp(c1, c2)
regr_avgx(Y, X) 求自变量的平均值。 reg_avgx(c1, c2)
regr_avgy(Y, X) 求因变量的平均值。 reg_avgy(c1, c2)
regr_count(Y, X) 求两个输入参数中都不为空的行数。 regr_count(c1, c2)
regr_intercept(Y, X) 求由(X,Y)确定的最小方差拟合的纵轴截距。 reg_intercept(c1, c2)
regr_r2(Y, X) 求相关系数的平方。 regr_r2(c1, c2)
regr_slope(Y, X) 求由(X,Y)确定的最小方差拟合的斜率。 regr_slope(c1, c2)
regr_sxx(Y, X) 求自变量的平方和sum(X^2) - sum(X)^2/N regr_sxx(c1, c2)
regr_sxy(Y, X) 求自变量和因变量的乘积和sum(X*Y) - sum(X) * sum(Y)/N regr_sxy(c1, c2)
regr_syy(Y, X) 求因变量的平方和sum(Y^2) - sum(Y)^2/N regr_syy(c1, c2)
stddev(int) 求INT类型表达式的样本标准差。 stddev(c1)
stddev(numeric) 求NUMERIC类型表达式的样本标准差。 stddev(c1)
stddev(float8) 求FLOAT8类型表达式的样本标准差。 stddev(c1)
stddev_pop(int) 求INT类型表达式的总体标准差。 stddev_pop(c1)
stddev_pop(numeric) 求NUMERIC类型表达式的总体标准差。 stddev_pop(c1)
stddev_pop(float8) 求FLOAT8类型表达式的总体标准差。 stddev_pop(c1)
stddev_samp(int) 求INT类型表达式的样本标准差。 stddev_samp(c1)
stddev_samp(numeric) 求NUMERIC类型表达式的样本标准差。 stddev_samp(c1)
stddev_samp(float8) 求FLOAT8类型表达式的样本标准差。 stddev_samp(c1)
variance(int) 求INT类型表达式的样本方差。 variance(c1)
variance(numeric) 求NUMERIC类型表达式的样本方差。 variance(c1)
var_pop(float8) 求FLOAT8类型表达式的总体方差。 var_pop(c1)
var_pop(int) 求INT类型表达式的总体方差。 var_pop(c1)
var_pop(numeric) 求NUMERIC类型表达式的总体方差。 var_pop(c1)
var_samp(float8) 求FLOAT8类型表达式的样本方差。 var_samp(c1)
var_samp(int) 求INT类型表达式的样本方差。 var_samp(c1)
var_samp(numeric) 求NUMERIC类型表达式的样本方差。 var_samp(c1)