DB2에서 그룹별로 쉼표로 구분된 출력 생성
DB2 내장 함수LISTAGG
는 동일한 그룹으로 열 값을 쉼표로 구분하여 연결할 수 있습니다. 이는 그룹 내에서 데이터를 병합해야 할 때 유용합니다.
예를 들어 테이블에 ID와 Role이라는 두 개의 열이 있고 세 개의 행에 ID는 동일하지만 Role 값이 다르다고 가정해 보겠습니다. 목표는 각 ID의 역할 값을 쉼표로 구분된 목록으로 연결하는 것입니다.
DB2 LUW 9.7부터 도입된 LISTAGG
기능은 다음을 수행합니다.
<code class="language-sql">SELECT ID, LISTAGG(Role, ', ') AS Roles FROM myTable GROUP BY ID;</code>
이 쿼리는 원하는 출력을 생성합니다.
<code>ID Roles ---------- 4555 2,3,4</code>
WITHIN GROUP
절과 ORDER BY
문을 사용하여 값이 연결되는 순서를 지정할 수 있다는 점은 주목할 가치가 있습니다. 이를 통해 값이 나열되는 순서를 더 효과적으로 제어할 수 있습니다.
<code class="language-sql">SELECT ID, LISTAGG(Role, ', ') WITHIN GROUP (ORDER BY Role ASC) AS Roles FROM myTable GROUP BY ID;</code>
이 경우 출력은 다음과 같습니다.
<code>ID Roles ---------- 4555 2,3,4</code>
LISTAGG
DB2에서 데이터를 집계하고 결합하는 편리한 방법을 제공하여 효율적인 그룹 기반 문자열 작업을 가능하게 합니다.
위 내용은 DB2의 그룹에서 쉼표로 구분된 값 목록을 어떻게 생성할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!