집 >데이터 베이스 >MySQL 튜토리얼 >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 중국어 웹사이트의 기타 관련 기사를 참조하세요!