본문 바로가기

CS/DataBase

(ORACLE) PARTITION BY 의 활용

집계 함수 쿼리에서 특정 컬럼만 다른 조건으로 집계하고 싶을때 

MAX(COL1)
        OVER (PARTITION BY [COL1, COL2...]) 

 

/*이전 최고 봉급액수와 현재 최고 봉급액수를 구하는 쿼리*/

SELECT  MAX(A.SALARY)   AS "현재최고봉급"
          ,MAX(A.OLD_SALARY) OVER (PARTITION BY A.COMPANY, A.DEPT)  AS "이전 최고봉급"
  FROM COMPANY_SAL_TABLE A 
 WHERE A.COMPANY = '12345' 
   AND A.DPT_NM = 'IT개발팀' 
  GROUP BY  
               A.SALARY, 
               A.OLD_SALARY, 
               A.COMPANY,
               A.DEPT

;

'CS > DataBase' 카테고리의 다른 글

(ORACLE) 오라클의 데이터 구조  (0) 2019.12.11
(ORACLE) SQL 문 분석과 공유 풀  (0) 2019.12.05
(ORACLE) 다중 LIKE 검색  (0) 2019.12.03
(ISSUE) 개발 DB가 풀 찼었네...  (0) 2019.12.02
(ORACLE) 캐시와 공유 메모리  (0) 2019.11.26