728x90 분류 전체보기1518 [ORACLE] SUM() 함수 기본 문법부터 실무 활용 팁까지 1. SUM 함수란?SUM() 함수는 숫자형 칼럼의 총합을 계산하는 Oracle SQL의 대표적인 집계 함수입니다. GROUP BY, PARTITION BY 절과 함께 쓰이면 더욱 강력한 통계 분석 도구로 변모합니다.📌 기본 문법SELECT SUM(컬럼명) FROM 테이블명;2. SUM 함수의 기본 예제예제: 전체 직원의 급여 총합SELECT SUM(sal) AS total_salary FROM emp;결과 예시:total_salary290253. GROUP BY와 함께 사용하기GROUP BY는 특정 칼럼을 기준으로 데이터를 묶은 후, 각 그룹별로 합계를 구할 수 있게 해 줍니다.예제: 부서별 급여 총합SELECT deptno, SUM(sal) AS dept_total_salary FROM emp .. 2025. 5. 31. [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. [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 ··· 250 251 252 253 다음 728x90