집 >데이터 베이스 >MySQL 튜토리얼 >DB2 SQL의 그룹화된 데이터에서 쉼표로 구분된 값을 생성하는 방법은 무엇입니까?
DB2 SQL 그룹화된 데이터는 쉼표로 구분된 값을 생성합니다
질문: DB2 SQL에 그룹화된 열 데이터의 쉼표로 구분된 값을 직접 생성할 수 있는 함수가 있나요?
시나리오: ID 열과 역할 열이 있는 테이블이 있습니다. 동일한 ID에 대해 여러 행이 있을 수 있으며, 각 행은 해당 ID에 대한 서로 다른 역할을 나타냅니다. 목표는 이러한 역할을 각 고유 ID에 대해 쉼표로 구분된 문자열로 연결하는 것입니다.
예:
<code>ID | Role ------------ 4555 | 2 4555 | 3 4555 | 4</code>
예상 출력:
<code>4555 2,3,4</code>
정답:
DB2 LUW 9.7에는 이 문제를 해결하는 새로운 기능 LITAGG이 도입되었습니다.
문법:
<code>LISTAGG(expression, delimiter) WITHIN GROUP (ORDER BY expression ASC|DESC)</code>
지침:
사용법:
각 고유 ID에 대해 쉼표로 구분된 역할 값을 검색하려면 다음 쿼리를 사용할 수 있습니다.
<code>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>
추가 참고사항:
위 내용은 DB2 SQL의 그룹화된 데이터에서 쉼표로 구분된 값을 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!