728x90
320x100
KEEP 키워드
-
분석 함수도 KEEP 키워드를 사용할 수 있다.
-
KEEP 키워드를 사용하면 ANALYTIC 절에 QUERY PARTITION 절만 사용할 수 있다.
-
KEEP 키워드를 사용해 그룹 내 최대, 최소값을 구할 수 있다.
analytic_function([ arguments ]) KEEP(DENSE_RANK { FIRST | LAST } ORDER BY expr) [OVER([ query_partition_clause ])]
ex 1 ) job 파티션별 sal 최소인 행을 대상으로 comm의 최대 값을 출력해라.
SELECT ename, job, sal, comm
,① MAX(comm) KEEP(DENSE_RANK FIRST ORDER BY sal) OVER(PARTITION BY job) AS c1
FROM emp
WHERE deptno = 30
ORDER BY 2, 3, 4;
① MAX (comm) KEEP (DENSE_RANK FIRST ORDER BY sal) OVER (PARTITION BY job) c1 : job을 파티션별로 그룹화하고, sal을 오름차순으로 정렬한 것에서 최소 순위의 값들(DENSE_RANK FIRST) 중 최대값을 구한다.
728x90
320x100