728x90 오라클87 [ORACLE] ROW_NUMBER() 함수 완벽 가이드 : 순위 매기기 실전 예제로 배우기 1. ROW_NUMBER란?ROW_NUMBER 함수는 Oracle SQL의 분석 함수 중 하나로, 지정된 정렬 기준에 따라 고유한 일련번호를 부여합니다. 동일한 값이 있어도 무조건 고유한 순번이 부여된다는 점이 특징입니다.📌 기본 문법ROW_NUMBER() OVER (PARTITION BY 컬럼명 ORDER BY 컬럼명 [ASC|DESC])2. ROW_NUMBER 사용 이유각 그룹 내 첫 번째 항목 추출중복 제거 및 유일한 순번 지정페이지네이션 처리 (페이징 쿼리)최신 기록 또는 이전 기록 하나만 선택3. 기본 예제예제: 직원 급여 순번 부여SELECT ename, sal, ROW_NUMBER() OVER (ORDER BY sal DESC) AS row_num FROM emp;결과 예시en.. 2025. 5. 31. [ORACLE] DENSE_RANK() 함수 완전 정복 : 순위 함수 실전 예제로 배우기 1. DENSE_RANK란?DENSE_RANK는 Oracle의 분석 함수 중 하나로, 지정된 정렬 기준에 따라 순위를 부여하지만 동일한 값이 있어도 순위를 건너뛰지 않는 특징을 가집니다. 이 함수는 데이터 집계 및 정렬 결과를 순서화할 때 유용합니다.📌 기본 문법DENSE_RANK() OVER (PARTITION BY 컬럼명 ORDER BY 컬럼명 [ASC|DESC])2. DENSE_RANK의 작동 원리중복된 값이 존재할 경우에도 순위가 연속적으로 유지됩니다. 예를 들어, 동일한 급여가 있는 두 명의 직원이 1등이면, 다음 순위는 2등이 아니라 3등이 됩니다 (RANK의 경우). 하지만 DENSE_RANK는 다음 순위를 2등으로 유지합니다.예제: 직원 급여 순위SELECT ename, sal, .. 2025. 5. 31. [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. 이전 1 ··· 12 13 14 15 다음 728x90