聚合函数
相关介绍
以下是有关聚合函数的具体介绍:
函数 → 返回值 | 说明 |
---|---|
array_agg(arg1: bool) → bool[] | 将选定值聚合到数组中。 |
array_agg(arg1: bytes) → bytes[] | 将选定值聚合到数组中。 |
array_agg(arg1: date) → date[] | 将选定值聚合到数组中。 |
array_agg(arg1: decimal) →decimal[] | 将选定值聚合到数组中。 |
array_agg(arg1: float) → float[] | 将选定值聚合到数组中。 |
array_agg(arg1: inet) → inet[] | 将选定值聚合到数组中。 |
array_agg(arg1: int) → int[] | 将选定值聚合到数组中。 |
array_agg(arg1: interval) → interval[] | 将选定值聚合到数组中。 |
array_agg(arg1: string) → string[] | 将选定值聚合到数组中。 |
array_agg(arg1: time) → time[] | 将选定值聚合到数组中。 |
array_agg(arg1: timestamp) → timestamp[] | 将选定值聚合到数组中。 |
array_agg(arg1: timestamptz) → timestamptz[] | 将选定值聚合到数组中。 |
array_agg(arg1: uuid) → uuid[] | 将选定值聚合到数组中。 |
array_agg(arg1: oid) → oid[] | 将选定值聚合到数组中。 |
array_agg(arg1: varbit) → varbit[] | 将选定值聚合到数组中。 |
avg(arg1: decimal) → decimal | 计算选定值的平均值。 |
avg(arg1: float) → float | 计算选定值的平均值。 |
avg(arg1: int) → decimal | 计算选定值的平均值。 |
bool_and(arg1: bool) → bool | 计算集合中所有bool值的“与”操作的结果。 |
bool_or(arg1: bool) → bool | 计算集合中所有bool值的“或”操作的结果。 |
concat_agg(arg1: bytes) → bytes | 连接所有选定值。 |
concat_agg(arg1: string) → string | 连接所有选定值。 |
count(arg1: anyelement) → int | 计算选定元素的数目。 |
count_rows() → int | 计算行数。 |
json_agg(arg1: anyelement) → jsonb | 将值聚合为JSON或JSONB数组。 |
jsonb_agg(arg1: anyelement) → jsonb | 将值聚合为JSON或JSONB数组。 |
max(arg1: bool) → bool | 标识最大选定值。 |
max(arg1: bytes) → bytes | 标识最大选定值。 |
max(arg1: date) → date | 标识最大选定值。 |
max(arg1: decimal) → decimal | 标识最大选定值。 |
max(arg1: float) → float | 标识最大选定值。 |
max(arg1: inet) → inet | 标识最大选定值。 |
max(arg1: int) → int | 标识最大选定值。 |
max(arg1: interval) → interval | 标识最大选定值。 |
max(arg1: string) → string | 标识最大选定值。 |
max(arg1: time) → time | 标识最大选定值。 |
max(arg1: timestamp) → timestamp | 标识最大选定值。 |
max(arg1: timestamptz) → timestamptz | 标识最大选定值。 |
max(arg1: uuid) → uuid | 标识最大选定值。 |
max(arg1: jsonb) → jsonb | 标识最大选定值。 |
max(arg1: oid) → oid | 标识最大选定值。 |
max(arg1: varbit) → varbit | 标识最大选定值。 |
min(arg1: bool) → bool | 标识选定的最小值。 |
min(arg1: bytes) → bytes | 标识选定的最小值。 |
min(arg1: date) → date | 标识选定的最小值。 |
min(arg1: decimal) → decimal | 标识选定的最小值。 |
min(arg1: float) → float | 标识选定的最小值。 |
min(arg1: inet) → inet | 标识选定的最小值。 |
min(arg1: int) → int | 标识选定的最小值。 |
min(arg1: interval) → interval | 标识选定的最小值。 |
min(arg1: string) → string | 标识选定的最小值。 |
min(arg1: time) → time | 标识选定的最小值。 |
min(arg1: timestamp) → timestamp | 标识选定的最小值。 |
min(arg1: timestamptz) → timestamptz | 标识选定的最小值。 |
min(arg1: uuid) → uuid | 标识选定的最小值。 |
min(arg1: jsonb) → jsonb | 标识选定的最小值。 |
min(arg1: oid) → oid | 标识选定的最小值。 |
min(arg1: varbit) → varbit | 标识选定的最小值。 |
sqrdiff(arg1: decimal) → decimal | 计算所选值平均值的平方差之和。 |
sqrdiff(arg1: float) → float | 计算所选值平均值的平方差之和。 |
sqrdiff(arg1: int) → decimal | 计算所选值平均值的平方差之和。 |
stddev(arg1: decimal) → decimal | 计算选定值的标准偏差。 |
stddev(arg1: float) → float | 计算选定值的标准偏差。 |
stddev(arg1: int) → decimal | 计算选定值的标准偏差。 |
string_agg(arg1: bytes, arg2: bytes) → bytes | 使用提供的分隔符连接所有选定值。 |
string_agg(arg1: string, arg2: string) → string | 使用提供的分隔符连接所有选定值。 |
sum(arg1: decimal) → decimal | 计算选定值的总和。 |
sum(arg1: float) → float | 计算选定值的总和。 |
sum(arg1: int) → decimal | 计算选定值的总和。 |
sum(arg1: interval) → interval | 计算选定值的总和。 |
sum_int(arg1: int) → int | 计算选定值的总和。 |
variance(arg1: decimal) → decimal | 计算选定值的方差。 |
variance(arg1: float) → float | 计算选定值的方差。 |
variance(arg1: int) → decimal | 计算选定值的方差。 |
xor_agg(arg1: bytes) → bytes | 计算选定值的按位异或。 |
xor_agg(arg1: int) → int | 计算选定值的按位异或。 |
示例
以下示例都用相同的一个表(kv),在此进行表数据的展示:
SELECT * from kv;
k | v
+—-+———-+
2 | world
3 | death
4 | !
5 | !
6 | !
8 | hello
示例1:将选定值聚合到数组中。
SELECT array_agg(k) from kv;
array_agg
+———————-+
{2,3,4,5,6,8}
示例2:计算最小值。
SELECT min(k) from kv;
min
+——-+
2 (1 row) |
示例3:连接所有选定值。
SELECT string_agg(v,’-‘) from kv;
string_agg
+————————————-+
world-death-!-!-!-hello
示例4:计算选定值的方差。
SELECT variance(k) from kv;
variance
+———————————-+
4.6666666666666666667
示例5:计算选定值的按位异或。
SELECT xor_agg(k) from kv;
xor_agg
+————-+
14
示例6:计算选定值的标准偏差。
SELECT stddev(k) from kv;
stddev
+———————————-+
2.1602468994692867437 |
- row)
示例7:计算所选值平均值的平方差之和。
SELECT sqrdiff(k) from kv;
sqrdiff
+——————————————+
23.33333333333333333333333
示例8:将值聚合为JSON或JSONB数组。
SELECT jsonb_agg(k) from kv;
jsonb_agg
+——————————+
[2, 3, 4, 5, 6, 8] |
- row)
示例9:连接所选定的值。
SELECT concat_agg(v) from kv;
concat_agg
+——————————+
worlddeath!!!hello (1 row) |