CS/DataBase
(ORACLE) PARTITION BY 의 활용
주누
2019. 12. 4. 15:25
집계 함수 쿼리에서 특정 컬럼만 다른 조건으로 집계하고 싶을때
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
;