Oracle SQL: 여러 행의 데이터를 하나의 행으로 결합
데이터 세트가 특정 열로 구성되면 여러 행을 단일 행으로 병합해야 할 수도 있습니다. 이는 SQL의 데이터 집계 작업을 통해 달성할 수 있습니다.
Oracle SQL에서 WM_CONCAT
함수는 여러 값 행을 조인하는 간단한 방법을 제공합니다. 그러나 이 기능은 Oracle 12c 이상에서 지원되지 않는 것으로 표시되어 제거되었다는 점에 주목할 가치가 있습니다.
WM_CONCAT
방법(Oracle 12c 이전)
Oracle 12c 이전에는 WM_CONCAT
을 사용하여 값을 집계할 수 있었습니다.
<code class="language-sql">SELECT field1, WM_CONCAT(field2) FROM YourTable GROUP BY field1;</code>
대안: LISTAGG
(Oracle 12c 이상)
Oracle 12c 이상의 데이터베이스의 경우 LISTAGG
는 WM_CONCAT
에 대한 대안을 제공합니다. 이 함수는 특히 문자열 집계 작업을 위한 향상된 기능을 제공합니다.
<code class="language-sql">SELECT field1, LISTAGG(field2, ',') WITHIN GROUP (ORDER BY field2) FROM YourTable GROUP BY field1;</code>
맞춤 구현
WM_CONCAT
도 LISTAGG
도 없으면 하위 쿼리와 문자열 조작 기능을 조합하여 사용자 정의 구현을 만들 수 있습니다. 관련 링크(예: oracle-base.com)에서는 이 방법에 대한 자세한 지침을 제공합니다.
위 내용은 Oracle SQL에서 여러 행을 하나로 집계하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!