728x90 전체 글1353 [ORACLE] PARTITION BY() 함수 설명과 실무 SQL 예제 모음 PARTITION BY는 Oracle SQL에서 분석 함수(Analytic Function)와 함께 사용되어, 데이터를 논리적으로 그룹화한 후 그 그룹 내에서 계산을 수행할 수 있도록 해주는 매우 유용한 기능입니다.1. PARTITION BY란?SQL에서 PARTITION BY는 데이터를 가상의 그룹으로 나누는 역할을 합니다. 일반적으로 RANK(), DENSE_RANK(), ROW_NUMBER(), SUM(), AVG() 등과 같은 분석 함수와 함께 사용됩니다.📌 기본 문법함수명() OVER (PARTITION BY 컬럼명 ORDER BY 컬럼명)2. PARTITION BY 없이 분석 함수 사용아래는 PARTITION BY 없이 RANK()를 사용하는 예제입니다.SELECT ename, deptno,.. 2025. 5. 31. [ORACLE] RANK() OVER 함수로 그룹 별 순위 구하기 실습 가이드 1. RANK 함수란 무엇인가?RANK 함수는 분석 함수의 일종으로, 특정 정렬 기준에 따라 순위(rank)를 부여하는 SQL 함수입니다. 동일한 값에는 동일한 순위가 부여되며, 그다음 순위는 건너뜁니다(즉, 중복 순위 발생 시 GAP 있음).📌 기본 문법RANK() OVER (PARTITION BY column1 ORDER BY column2 [ASC|DESC])예제: 부서별 급여 순위SELECT deptno, ename, sal, RANK() OVER (PARTITION BY deptno ORDER BY sal DESC) AS rank_in_dept FROM emp;결과 예시:deptnoenamesalrank_in_dept10KING5000110CLARK2450210MILLER13003.. 2025. 5. 31. [ORACLE] LISTAGG()로 컬럼 값을 한 줄에 나열하는 방법 Oracle에서 제공하는 LISTAGG 함수는 행 데이터를 하나의 열 문자열로 집계하는 강력한 함수입니다. 본 글에서는 실무에서 자주 사용하는 다양한 예제와 함께 LISTAGG의 문법, 사용법, 오류 처리, 성능 팁 등을 자세히 다룹니다.1. LISTAGG란 무엇인가?LISTAGG는 Oracle 11g Release 2부터 지원되는 집계 함수(Aggregate Function)로, 특정 그룹의 문자열 데이터를 하나의 행으로 병합(concatenate)할 수 있게 해 줍니다.📌 기본 문법LISTAGG(column_name, 'separator') WITHIN GROUP (ORDER BY column_name)✅ 간단 예제SELECT department_id, LISTAGG(employee_n.. 2025. 5. 31. 이전 1 ··· 223 224 225 226 다음 728x90