Oracle LISTAGG

agnusdei·2023년 7월 5일
0
post-custom-banner

Oracle의 LISTAGG 함수는 그룹 내의 값을 하나의 문자열로 결합하는 기능을 제공합니다. 이 함수는 주로 문자열 합치기, 그룹별 데이터 요약, 보고서 작성 등에 유용하게 사용됩니다.

LISTAGG 함수의 구문은 다음과 같습니다:

LISTAGG(column, delimiter) WITHIN GROUP (ORDER BY order_column) OVER (PARTITION BY partition_column)
  • column: 결합할 열의 이름입니다.
  • delimiter: 열 값을 구분하는 구분자입니다.
  • order_column (선택 사항): 결합된 문자열의 정렬 순서를 지정하는 열입니다.
  • partition_column (선택 사항): 그룹화할 때 사용되는 열입니다.

아래는 LISTAGG 함수의 예시 코드입니다:

SELECT department_name, LISTAGG(employee_name, ', ') WITHIN GROUP (ORDER BY employee_name) AS employees
FROM employees
GROUP BY department_name;

위의 코드는 "employees" 테이블에서 부서별로 사원 이름을 결합하여 하나의 문자열로 표시하는 예시입니다. 결과는 "department_name" 열과 "employees" 열로 구성되며, "employees" 열에는 각 부서에 속한 사원 이름이 쉼표로 구분된 형식으로 표시됩니다.

예를 들어, 다음과 같은 데이터가 있는 경우:

department_name  |  employee_name
---------------------------------
IT               |  John
IT               |  Jane
IT               |  David
HR               |  Lisa
HR               |  Eric

위의 쿼리를 실행하면 다음과 같은 결과가 반환됩니다:

department_name  |  employees
------------------------------
IT               |  John, Jane, David
HR               |  Lisa, Eric

결과에서 각 부서별로 사원 이름이 하나의 문자열로 결합되어 표시됩니다.

post-custom-banner

0개의 댓글