>데이터 베이스 >MySQL 튜토리얼 >LISTAGG를 사용하여 DB2에서 쉼표로 구분된 열 값 목록을 어떻게 만들 수 있습니까?

LISTAGG를 사용하여 DB2에서 쉼표로 구분된 열 값 목록을 어떻게 만들 수 있습니까?

Linda Hamilton
Linda Hamilton원래의
2025-01-09 14:46:42934검색

How Can I Create Comma-Separated Lists of Column Values in DB2 Using LISTAGG?

LISTAGG를 사용하여 DB2 SQL에서 쉼표로 구분된 목록 생성

DB2 LISTAGG 함수는 특히 그룹화된 데이터를 처리할 때 쉼표로 구분된 열 값 목록 생성을 단순화합니다. 이 기능은 사용자 정의 구분 기호를 사용하여 동일한 그룹화 기준을 공유하는 행에 대해 지정된 열의 값을 효율적으로 연결합니다.

IDRole 열이 포함된 테이블을 예로 들어 보겠습니다. 여기서 ID에는 연결된 Role 값이 여러 개 있을 수 있습니다. 각 고유 ID에 대해 쉼표로 구분된 역할 목록을 생성하려면 다음 SQL 쿼리를 사용하세요.

<code class="language-sql">SELECT
  ID,
  LISTAGG(Role, ', ') WITHIN GROUP (ORDER BY Role ASC) AS Roles
FROM
  myTable
GROUP BY
  ID;</code>

예시 데이터:

<code>ID   | Role
------------
4555 | 2
4555 | 3
4555 | 4</code>

결과:

<code>ID   | Roles
------------
4555 | 2, 3, 4</code>

ORDER BY 내의 LISTAGG 절은 연결된 값의 순서를 제어합니다. ORDER BY Role ASC 오름차순으로 정렬합니다. ORDER BY Role DESC 내림차순으로 정렬합니다. ORDER BY을 생략하면 순서가 정의되지 않습니다.

위 내용은 LISTAGG를 사용하여 DB2에서 쉼표로 구분된 열 값 목록을 어떻게 만들 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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