aggs_for_vecs
针对数组类型的聚合函数集合扩展
仓库
pjungwir/aggs_for_vecs
https://github.com/pjungwir/aggs_for_vecs
源码
aggs_for_vecs-1.4.1.tar.gz
aggs_for_vecs-1.4.1.tar.gz
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
aggs_for_vecs | 1.4.1 | FUNC | MIT | C |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 4740 | aggs_for_vecs | 否 | 是 | 否 | 是 | 否 | 是 | - |
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | PIGSTY | 1.4.1 | 1817161514 | aggs_for_vecs | - |
| RPM | PIGSTY | 1.4.1 | 1817161514 | aggs_for_vecs_$v | - |
| DEB | PIGSTY | 1.4.1 | 1817161514 | postgresql-$v-aggs-for-vecs | - |
构建
您可以使用 pig build 命令构建 aggs_for_vecs 扩展的 RPM / DEB 包:
BASH
安装
您可以直接安装 aggs_for_vecs 扩展包的预置二进制包,首先确保 PGDG 和 PIGSTY 仓库已经添加并启用:
BASH
使用 pig 或者是 apt/yum/dnf 安装扩展:
安装
BASH
pig
BASH
dnf
BASH
apt
BASH
创建扩展:
SQL
用法
提供将数组视为向量的聚合函数,跨多行计算按位置的统计量。支持 SMALLINT、INTEGER、BIGINT、REAL 和 DOUBLE PRECISION 类型。
SQL
聚合函数
| 函数 | 说明 |
|---|---|
vec_to_count(anyarray) | 每个位置的非空计数 |
vec_to_sum(anyarray) | 每个位置的求和 |
vec_to_min(anyarray) | 每个位置的最小值 |
vec_to_max(anyarray) | 每个位置的最大值 |
vec_to_mean(anyarray) | 每个位置的平均值(返回 FLOAT[]) |
vec_to_weighted_mean(values, weights) | 每个位置的加权平均值 |
vec_to_var_samp(anyarray) | 每个位置的样本方差 |
vec_to_first(anyarray) | 每个位置的第一个非空值(配合 ORDER BY 使用) |
vec_to_last(anyarray) | 每个位置的最后一个非空值(配合 ORDER BY 使用) |
hist_2d(x, y, ...) | 二维直方图 |
hist_md(vals, indexes, ...) | N 维直方图 |
非聚合函数
| 函数 | 说明 |
|---|---|
vec_add(l, r) | 逐元素加法 |
vec_sub(l, r) | 逐元素减法 |
vec_mul(l, r) | 逐元素乘法 |
vec_div(l, r) | 逐元素除法 |
vec_elements(array, indexes) | 按指定索引选取元素 |
pad_vec(array, length) | 用 NULL 扩展数组至指定长度 |
vec_coalesce(array, default) | 将 NULL 替换为默认值 |
vec_trim_scale(numeric[]) | 去除 NUMERIC 元素的尾部零 |
vec_without_outliers(vals, mins, maxs) | 将异常值替换为 NULL |
示例
SQL