>데이터 베이스 >MySQL 튜토리얼 >Oracle SQL에서 여러 행을 단일 행으로 어떻게 집계할 수 있습니까?

Oracle SQL에서 여러 행을 단일 행으로 어떻게 집계할 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2025-01-15 18:34:44369검색

How Can I Aggregate Multiple Rows into a Single Row in Oracle SQL?

Oracle SQL에서 여러 행을 단일 행으로 통합

Oracle SQL은 여러 행을 단일 행으로 결합하는 여러 가지 방법을 제공합니다. 한 가지 접근 방식은 WM_CONCAT 함수를 사용합니다(참고: Oracle 12c 이상에서는 더 이상 사용되지 않음). WM_CONCAT 특정 열 내 여러 행의 값을 연결합니다.

<code class="language-sql">SELECT field1, WM_CONCAT(field2) FROM YourTable GROUP BY field1;</code>

WM_CONCAT을 사용할 수 없는 Oracle 버전의 경우 사용자 정의 집계 함수가 실행 가능한 솔루션을 제공합니다. 문자열 집계를 위한 함수 생성에 대한 자세한 지침은 Oracle-base.com과 같은 리소스에서 찾을 수 있습니다. 기본 예:

<code class="language-sql">CREATE FUNCTION String_Agg(VALUES VARCHAR2, DELIM VARCHAR2) RETURN VARCHAR2;
-- Function implementation details here</code>

이 사용자 정의 함수는 문자열 값 집계를 허용합니다.

<code class="language-sql">SELECT field1, String_Agg(field2, ',') FROM YourTable GROUP BY field1;</code>

WM_CONCAT(해당하는 경우) 및 사용자 정의 집계 함수는 여러 행을 단일 행으로 효과적으로 통합하여 데이터를 더욱 간결하고 체계적으로 표시합니다.

위 내용은 Oracle SQL에서 여러 행을 단일 행으로 어떻게 집계할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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