有多种方法可以将两个数组组合成一个数组使用 Postgres 函数的多维数组:
Postgres 9.5 或更高版本:
Postgres 9.4:
Postgres 9.3 或更早版本:
考虑 Postgres 9.3 或更早版本的以下示例:
SELECT ARRAY[a,b] AS ab FROM ( SELECT unnest('{a,b,c}'::text[]) AS a , unnest('{d,e,f}'::text[]) AS b ) x;
结果:
ab ------- {a,d} {b,e} {c,f}
要将数组的结果聚合为二维数组,需要一个名为 array_agg_mult() 的自定义聚合函数:
CREATE AGGREGATE array_agg_mult (anyarray) ( SFUNC = array_cat , STYPE = anyarray , INITCOND = '{}' );
然后,按如下方式使用它:
SELECT array_agg_mult(ARRAY[ARRAY[a,b]]) AS ab FROM ( SELECT unnest('{a,b,c}'::text[]) AS a , unnest('{d,e,f}'::text[]) AS b ) x;
结果:
{{a,d},{b,e},{c,f}}
以上是如何在 PostgreSQL 中压缩两个数组以创建多维数组?的详细内容。更多信息请关注PHP中文网其他相关文章!