ホームページ >データベース >mysql チュートリアル >PostgreSQL で 2 つの配列を圧縮して多次元配列を作成する方法
2 つの配列を 1 つに結合するにはいくつかの方法があります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;
Result:
ab ------- {a,d} {b,e} {c,f}
結果の配列セットを 2 次元配列に集約するには、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 で 2 つの配列を圧縮して多次元配列を作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。