>데이터 베이스 >MySQL 튜토리얼 >PostgreSQL에서 두 개의 배열을 어떻게 압축할 수 있나요?

PostgreSQL에서 두 개의 배열을 어떻게 압축할 수 있나요?

Susan Sarandon
Susan Sarandon원래의
2025-01-04 19:02:40898검색

How Can I Zip Two Arrays in PostgreSQL?

PostgreSQL에서 배열 압축

PostgreSQL에서는 다양한 방법을 사용하여 동일한 길이의 두 배열을 쌍으로 결합할 수 있습니다.

버전 9.5 및 이후:

Postgres 버전 9.5에서는 배열을 직접 연결할 수 있는 ROWS FROM 구문과 함께 array_agg 함수를 도입했습니다.

SELECT ARRAY[a,b] AS ab
FROM   unnest('{a,b,c}'::text[], '{d,e,f}'::text[]) x(a,b);

버전 9.4 및 이전:

9.5 이전에는 두 가지 접근 방식:

간단한 압축:

요소 수가 동일한 배열의 경우 다음 쿼리를 사용합니다.

SELECT ARRAY[a,b] AS ab
FROM  (
   SELECT unnest('{a,b,c}'::text[]) AS a
        , unnest('{d,e,f}'::text[]) AS b
    ) x;

다차원 배열을 위한 압축:

압축된 배열을 변환하려면 배열을 다차원 배열로 변환하려면 다음 사용자 정의 집계 함수를 고려하세요.

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;

위 내용은 PostgreSQL에서 두 개의 배열을 어떻게 압축할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.