집 >데이터 베이스 >MySQL 튜토리얼 >PostgreSQL에서 여러 행에 걸쳐 값을 어떻게 연결할 수 있습니까?
PostgreSQL 데이터 행 값 연결
관계형 데이터베이스 작업에서는 최종 결과를 얻기 전에 데이터를 처리해야 하는 경우가 많습니다. 일반적인 작업은 공통 식별자를 기반으로 여러 행의 값을 연결하는 것입니다. PostgreSQL에서는 GROUP_CONCAT
함수가 이에 대한 간단한 솔루션을 제공합니다.
GROUP_CONCAT
기능PostgreSQL 버전 9.0 이상에서는 GROUP_CONCAT
열의 값 집합을 가져와서 단일 문자열로 연결하는 집계 함수를 도입했습니다. GROUP_CONCAT
의 구문은 다음과 같습니다.
<code class="language-sql">GROUP_CONCAT(DISTINCT expression [ORDER BY expression] [separator])</code>
매개변수:
"sample_data"라는 다음 테이블을 고려해 보세요.
id | value |
---|---|
TM67 | 4 |
TM67 | 9 |
TM67 | 72 |
TM99 | 2 |
TM99 | 3 |
각 고유 "id"에 대한 "값" 열의 값을 조인하려면 다음과 같이 GROUP_CONCAT
을 사용할 수 있습니다.
<code class="language-sql">SELECT id, GROUP_CONCAT(value) AS concatenated_values FROM sample_data GROUP BY id;</code>
이 쿼리는 다음과 같은 출력을 생성합니다.
id | concatenated_values |
---|---|
TM67 | 4,9,72 |
TM99 | 2,3 |
보시다시피 각 "id"의 값은 쉼표로 연결되어 구분되어 있습니다.
PostgreSQL 버전 9.0부터 GROUP_CONCAT
의 대체 구문을 사용할 수 있습니다:
<code class="language-sql">SELECT id, string_agg(value, ',') AS concatenated_values FROM sample_data GROUP BY id;</code>
이 구문은 위에서 설명한 GROUP_CONCAT
구문과 동일합니다.
GROUP_CONCAT
또는 string_agg
함수를 사용하면 PostgreSQL에서 여러 데이터 행을 쉽게 결합할 수 있습니다. 선택하는 구문은 PostgreSQL 버전과 개인 선호도에 따라 다릅니다.
위 내용은 PostgreSQL에서 여러 행에 걸쳐 값을 어떻게 연결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!