오라클 행 합치기 기능 – listagg
한 데이터가 있습니다. A, B, C지역에 여러명의 사람들이 살아가고 있지만 이 사람들은 각기 다름 이름을 가지고 있습니다. 이 사람들을 지역별로 묶어서 데이터를 표현해야 할 경우 어떻게 해야 할까요? 오라클에서는 여러 행을 하나의 열로 합치는 기능을 제공하여 위와 같은 기능을 편리하게 구현할 수 있는데요. 바로 listagg 기능을 사용하면 되는데요. 기능을 통해 오라클 행 합치기 기능을 수행해 보겠습니다. 문법 LISTAGG(컬럼, ‘,’) WITHIN GROUP (ORDER BY 컬럼) 위의 문법은 첫번째 컬럼에 해당 하는 부분은 합쳐지는 데이터를 콤마로 구분지어 계속 append 시키는 역할을 하며, Order by절의 컬럼은 append되는 데이터의 정렬 기능을 합니다. 예제 오라클에서 제공하는 기본 테이블인 emp를 이용해 보겠습니다. 데이터를 보시면 job 컬럼은 중복된 값이 있는 반면 ename은 중복된 값이 없습니다. 그래서 JOB별 이름을 모두 다 표현해 보겠습니다. SELECT JOB , LISTAGG(ENAME, ‘,’) WITHIN GROUP (ORDER BY ENAME) LISTAGG FROM EMPLOYEE GROUP BY JOB 중복이…