티스토리 뷰
WINDOW함수 기본 문법
SUM(컬럼명) OVER(
PARTITION BY [컬럼]
ORDER BY [컬럼] [ASC/DESC]
ROWS / RANGE
BETWEEN UNBOUNDED PRECEDING / PRECEDING / CURRENT ROW
AND UNBOUNDED FOLLOWING / CURRENT ROW
)
-- ROW : 부분집합인 윈도우 크기를 물리적인 단위로 행 집합을 지정
-- RANGE : 논리적인 주소에 의해 행 집합을 지정
-- UNBOUNDED PRECEDING : 윈도우의 시작 위치가 첫번째 ROW
-- UNBOUNDED FOLLOWING : 윈도우의 마지막 위치가 마지막 ROW
-- CURRENT ROW : 윈도우의 시작 위치가 현재 ROW
Temp 의 자료를 이용하여 자신의 사번, 성명, salary를 읽고, 자신을 포함한 이후 사번 중
salary가 가장 큰 금액을 함께 보여라
SELECT EMP_ID,EMP_NAME,salary,
MAX(SALARY) OVER --연봉 최대값!
(ORDER BY EMP_ID -- 정렬은 사번순으로
ROWS BETWEEN CURRENT ROW -- 현재 시작 위치와 가장 마지막 위치 사이에 있는 행들 기준으로
-- 그 ROWS에 대해서 연봉이 가장 높은 것을 추출해낸다.!
AND UNBOUNDED FOLLOWING) AS SALARY1
FROM temp;
'MODEL > ORACLE' 카테고리의 다른 글
[ORACLE] PL/SQL [2] (0) | 2017.11.18 |
---|---|
[ORACLE] PL/SQL (0) | 2017.11.18 |
[ORACLE] 분석 함수(RANK,ROW_NUMBER,DENSE_RANK) (0) | 2017.11.16 |
[ORACLE] 분석함수(LEAD,LAG,GREATEST,LEAST) (0) | 2017.11.16 |
[ORACLE] dump 파일 import & export (2) | 2017.11.16 |