>데이터 베이스 >MySQL 튜토리얼 >MySQL의 GROUP_CONCAT을 PostgreSQL의 STRING_AGG로 바꾸는 방법은 무엇입니까?

MySQL의 GROUP_CONCAT을 PostgreSQL의 STRING_AGG로 바꾸는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2025-01-21 09:17:10970검색

How to Replace MySQL's GROUP_CONCAT with PostgreSQL's STRING_AGG?

MySQL의 GROUP_CONCAT에서 PostgreSQL의 STRING_AGG로 마이그레이션

MySQL의 GROUP_CONCAT 함수는 여러 행의 값을 단일 문자열로 효율적으로 결합합니다. PostgreSQL은 동일한 결과를 얻기 위해 STRING_AGG 기능을 제공합니다.

해결책:

PostgreSQL 데이터베이스에서 GROUP_CONCAT 기능을 복제하려면 쿼리 내에서 STRING_AGG 함수를 사용하세요. 예를 들어, 각 고유 some_column에 대해 id이라는 열의 값을 연결하려는 경우 쿼리는 다음과 같습니다.

<code class="language-sql">SELECT id, STRING_AGG(some_column, ',')
FROM the_table
GROUP BY id;</code>

자세한 설명:

  • STRING_AGG(some_column, ','): 쿼리의 이 부분은 some_column 열에 있는 값을 연결합니다. ,은 연결된 값 사이의 구분 기호로 쉼표를 지정합니다. 필요에 따라 이 구분 기호를 다른 문자나 문자열로 변경할 수 있습니다.
  • GROUP BY id: id 열을 기준으로 행을 그룹화합니다. 그런 다음 STRING_AGG 함수는 각 그룹에서 개별적으로 작동하여 동일한 id 그룹
  • 내의 값만 연결합니다.

예상 출력:

이 쿼리는 MySQL의 GROUP_CONCAT:

에서 얻을 수 있는 것과 유사한 출력을 생성합니다.
<code>id    | string_agg
------+-----------------
TM67  | 4,9,72
TM99  | 2,3</code>

이는 GROUP_CONCAT을 사용하여 MySQL STRING_AGG 함수의 기능을 PostgreSQL 컨텍스트로 직접적이고 효과적으로 변환하는 방법을 보여줍니다.

위 내용은 MySQL의 GROUP_CONCAT을 PostgreSQL의 STRING_AGG로 바꾸는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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