OVER()
집계함수(GROUP BY, ORDER BY)를 사용할때 서브쿼리와 GROUP BY를 개선하기 위한 함수로 GROUP BY와 서브쿼리를 사용하지 않는다.
SELECT
MAX(컬럼) OVER() -- 전체행 중에 최고값
, MAX(컬럼) OVER(PARTITION BY 컬럼) -- 그룹내 최고값
, MIN(컬럼)OVER() -- 전체행 중에 최소값
, MIN(컬럼)OVER(PARTITION BY 컬럼) -- 그룹내 최소값
, SUM(컬럼)OVER() -- 전체행 합
, SUM(컬럼)OVER(PARTITION BY 컬럼) -- 그룹내 합
, AVG(컬럼)OVER() -- 전체행 평균
, AVG(컬럼)OVER(PARTITION BY 컬럼) -- 그룹내 평균
, COUNT(*)OVER() -- 전체행 카운트
, COUNT(*)OVER(PARTITION BY 컬럼) -- 그룹단위로 나누어 카운트
FROM TABLE