Postgresql - Functions and Operators 函数和运算 - Aggregate

聚合函数。包括了很多数学上的函数公式。非常方便。

Function

Argument Type(s)

Return Type

Partial Mode

Description

array_agg(expression)

any non-array type

array of the argument type

No

输入值,包括空值,连接到一个数组中

array_agg(expression)

any array type

same as argument data type

No

输入数组连接到一个更高维度的数组(输入必须都具有相同的维数,不能为空或空

avg(expression)

smallint, int, bigint, real, double precision,numeric, or interval

numeric for any integer-type argument, double precision for a floating-point argument, otherwise the same as the argument data type

Yes

所有输入值的平均值(算术平均值)

bit_and(expression)

smallint, int, bigint, orbit

same as argument data type

Yes

所有非空输入值的按位和,或如果没有,则为空。

bit_or(expression)

smallint, int, bigint, orbit

same as argument data type

Yes

所有非空输入值的按位或,如果没有,则为空。

bool_and(expression)

bool

bool

Yes

如果所有输入值为true,否则为false

bool_or(expression)

bool

bool

Yes

如果至少一个输入值为true,则为true,否则为false

count(*)

bigint

Yes

输入的行数

count(expression)

any

bigint

Yes

表达式的值不是空的输入行数

every(expression)

bool

bool

Yes

等价于布尔和

json_agg(expression)

any

json

No

作为JSON数组的聚合值

jsonb_agg(expression)

any

jsonb

No

作为JSON数组的聚合值

json_object_agg(name,value)

(any, any)

json

No

将名称/值对聚合为JSON对象

jsonb_object_agg(name,value)

(any, any)

jsonb

No

将名称/值对聚合为JSON对象

max(expression)

any numeric, string, date/time, network, or enum type, or arrays of these types

same as argument type

Yes

所有输入值表达式的最大值

min(expression)

any numeric, string, date/time, network, or enum type, or arrays of these types

same as argument type

Yes

所有输入值表达式的最小值

string_agg(expression,delimiter)

(text, text) or (bytea,bytea)

same as argument types

No

连接到字符串中的输入值,由分隔符分隔

sum(expression)

smallint, int, bigint, real, double precision,numeric, interval, or money

bigint for smallint or int arguments,numeric for bigint arguments, otherwise the same as the argument data type

Yes

所有输入值表达式的和

xmlagg(expression)

xml

xml

No

XML值的连接

Function

Argument Type

Return Type

Partial Mode

Description

corr(Y, X)

double precision

double precision

Yes

相关系数

covar_pop(Y, X)

double precision

double precision

Yes

总体协方差

covar_samp(Y, X)

double precision

double precision

Yes

样本协方差

regr_avgx(Y, X)

double precision

double precision

Yes

独立变量的平均数(和(x)/n)

regr_avgy(Y, X)

double precision

double precision

Yes

因变量的平均值(和(y)/n)

regr_count(Y, X)

double precision

bigint

Yes

两个表达式均为非空的输入行数

regr_intercept(Y, X)

double precision

double precision

Yes

由(x,y)对确定的最小二乘拟合线性方程的Y截距

regr_r2(Y, X)

double precision

double precision

Yes

相关系数的平方

regr_slope(Y, X)

double precision

double precision

Yes

由(x,y)对确定的最小二乘拟合线性方程的斜率

regr_sxx(Y, X)

double precision

double precision

Yes

和(x^ 2)-和(x)^ 2/n*(自变量的平方和)

regr_sxy(Y, X)

double precision

double precision

Yes

和(x*y)-和(x)*和(y)/n*(独立乘积因变量的乘积和)

regr_syy(Y, X)

double precision

double precision

Yes

和(y ^ 2)-和(y)^ 2/n(因变量的平方和)

stddev(expression)

smallint, int, bigint, real, double precision, or numeric

double precision for floating-point arguments, otherwise numeric

Yes

stddev_samp历史别名

stddev_pop(expression)

smallint, int, bigint, real, double precision, or numeric

double precision for floating-point arguments, otherwise numeric

Yes

输入值的标准差

stddev_samp(expression)

smallint, int, bigint, real, double precision, or numeric

double precision for floating-point arguments, otherwise numeric

Yes

输入值的样本标准偏差

variance(expression)

smallint, int, bigint, real, double precision, or numeric

double precision for floating-point arguments, otherwise numeric

Yes

var_samp的历史别名

var_pop(expression)

smallint, int, bigint, real, double precision, or numeric

double precision for floating-point arguments, otherwise numeric

Yes

输入值的方差(标准偏差的平方)

var_samp(expression)

smallint, int, bigint, real, double precision, or numeric

double precision for floating-point arguments, otherwise numeric

Yes

输入值的样本方差(样本标准偏差的平方)

Function

Direct Argument Type(s)

Aggregated Argument Type(s)

Return Type

Partial Mode

Description

mode() WITHIN GROUP (ORDER BY sort_expression)

 

any sortable type

same as sort expression

No

返回最频繁的输入值(如果有多个同样频繁的结果,则任意选择第一个

percentile_cont(fraction) WITHIN GROUP (ORDER BYsort_expression)

double precision

double precisionor interval

same as sort expression

No

连续百分位数:返回对应于排序中指定分数的值,如果需要,在相邻输入项之间进行插值。

percentile_cont(fractions) WITHIN GROUP (ORDER BYsort_expression)

double precision[]

double precisionor interval

array of sort expression's type

No

多个连续百分位数:返回一个与“分数”参数的形状相匹配的结果数组,每个非空元素由对应于百分位数的值替换。

percentile_disc(fraction) WITHIN GROUP (ORDER BYsort_expression)

double precision

any sortable type

same as sort expression

No

离散百分位数:返回在排序中的位置等于或超过指定分数的第一个输入值。

percentile_disc(fractions) WITHIN GROUP (ORDER BYsort_expression)

double precision[]

any sortable type

array of sort expression's type

No

多个离散百分位数:返回一个与“分数”参数的形状相匹配的结果数组,每个非空元素由对应于该百分位数的输入值代替。

Function

Direct Argument Type(s)

Aggregated Argument Type(s)

Return Type

Partial Mode

Description

rank(args) WITHIN GROUP (ORDER BYsorted_args)

VARIADIC "any"

VARIADIC "any"

bigint

No

假设行的秩,具有重复行的间隙

dense_rank(args) WITHIN GROUP (ORDER BY sorted_args)

VARIADIC "any"

VARIADIC "any"

bigint

No

假设行的秩,没有间隙

percent_rank(args) WITHIN GROUP (ORDER BY sorted_args)

VARIADIC "any"

VARIADIC "any"

double precision

No

假设行的相对秩,范围从0到1

cume_dist(args) WITHIN GROUP (ORDER BY sorted_args)

VARIADIC "any"

VARIADIC "any"

double precision

No

假设行的相对秩,从1/N到1不等。

Function

Return Type

Description

GROUPING(args...)

integer

整数位掩码指示当前组中没有包含哪些参数

猜你喜欢

转载自blog.csdn.net/chuckchen1222/article/details/81462348