Programming Blog

PARTITION BY - 테이블 분할 함수 본문

SQLD 정리

PARTITION BY - 테이블 분할 함수

Go-ong 2020. 11. 27. 16:54

PARTITION 함수

그룹 내 순위 및 그룹별 집계를 구할 때 유용하게 사용할 수 있다.

SELECT 순위함수() OVER(PARTITION BY 컬럼명 ORDER BY 컬럼명)
FROM 테이블명

SELECT 집계함수() OVER(PARTITION BY 컬럼명)
FROM 테이블명

 

순위함수 

  • ROW_NUMBER
  • RANK
  • DENSE_RANK

집계함수

  • SUM(합계)
  • AVG(평균)
  • MAX, MIN(최대,최소)
  • COUNT(개수)

활용할 원본 데이터

예제에 활용할 기본 데이터


예제1. 전체 인원의 급여 순위

SELECT deptno "부서", ename "직원이름", sal "급여", 
	RANK() OVER(ORDER BY SAL DESC) AS "순위"
FROM EMP;

전체 직원의 급여 순위 결과 데이터

예제2. 각 부서 내에서 직원의 급여 순위

SELECT deptno "부서", ename "사원명", sal "급여", 
	RANK() OVER (PARTITION BY deptno ORDER BY SAL DESC) AS "순위"
FROM EMP;

부서 내 직원 급여 순위 결과 데이터

'SQLD 정리' 카테고리의 다른 글

Cartesian Product(곱집합), CROSS JOIN  (0) 2020.11.27
EQUI JOIN(테이블 조인) - USING  (0) 2020.11.27
1장 데이터 모델링의 이해  (0) 2020.10.19
Comments