PG数据库中的聚集函数

PG中的聚集函数

聚集函数从一个输入值的集合计算出一个单一值。

函数 参数类型 返回类型 描述
array_agg(*expression*) 任何非数组类型 参数类型的数组 输入值(包括空)被连接到一个数组
array_agg(*expression*) 任意数组类型 和参数数据类型相同 输入数组被串接到一个更高维度的数组中 (输入必须都具有相同的维度并且不能为空或者 NULL)
avg(*expression*) smallint, int, bigintrealdouble precisionnumericinterval 对于任何整数类型参数是numeric,对于一个浮点参数是double precision,否则和参数数据类型相同 所有非空输入值的平均值(算术平均)
bit_and(*expression*) smallintintbigintbit 与参数数据类型相同 所有非空输入值的按位与,如果没有非空值则结果是空值
bit_or(*expression*) smallint, int, bigint, or bit 与参数数据类型相同 所有非空输入值的按位或,如果没有非空值则结果是空值
bool_and(*expression*) bool bool 如果所有输入值为真则结果为真,否则为假
bool_or(*expression*) bool bool 至少一个输入值为真时结果为真,否则为假
count(*) bigint 输入的行数
count(*expression*) any bigint expression值非空的输入行的数目
every(*expression*) bool bool 等价于bool_and
json_agg(*expression*) any json 将值,包含空值,聚集成一个 JSON 数组
jsonb_agg(*expression*) any jsonb 把值,包含空值,聚合成一个 JSON 数组
json_object_agg(*name*, *value*) (any, any) json 将名字/值对聚集成一个 JSON 对象,值可以为空,但不能是名字。
jsonb_object_agg(*name*, *value*) (any, any) jsonb 把名字/值对聚合成一个 JSON 对象,值可以为空,但不能是名字。
max(*expression*) 任意数组、数字、串、日期/时间、网络或者枚举类型,或者这些类型的数组 与参数数据类型相同 所有非空输入值中expression的最大值
min(*expression*) 任意数组、数字、串、日期/时间、网络或者枚举类型,或者这些类型的数组 与参数数据类型相同 所有非空输入值中expression的最小值
string_agg(*expression*, *delimiter*) (text, text) 或 (bytea, bytea) 与参数数据类型相同 非空输入值连接成一个串,用定界符分隔
sum(*expression*) smallintintbigintrealdouble precisionnumericintervalmoney smallintint参数是bigint,对bigint参数是numeric,否则和参数数据类型相同 所有非空输入值的expression的和
xmlagg(*expression*) xml xml 连接 非空XML 值
posted @ 2023-06-22 20:21  哩个啷个波  阅读(79)  评论(0编辑  收藏  举报