SQL/분석함수

[SQL]분석함수(analytic function)_KEEP 키워드

한기리 2020. 9. 19. 22:13
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