Search

집계 함수(Aggragate Function)

대분류
DB
소분류
MySQL
수준
심화
태그
COUNT
SUM
HAVING
MAX
MIN
STDDEV
VARIANCE
최종 편집 일시
2024/10/27 15:23
생성 일시
2024/09/28 15:44
14 more properties

집계 함수

분석 함수(Analytic Functions): SQL 쿼리의 성능을 한 단계 높이는 강력한 도구, 단순히 데이터를 처리하는 것을 넘어, 데이터 분석과 쿼리 최적화에 있어 핵심적인 역할을 함.
여러 행 또는 테이블 전체 행으로부터 하나의 결과값을 반환
SELECT문과 HAVING문에서 사용
count(*) 를 제외한 모든 집계함수는 NULL값은 제외하고 집계
OVER과 함께 사용 가능
SELECT ANALYTIC_FUNCTION(args) OVER ( [PARTITION BY 컬럼] [ORDER BY 컬럼] [WINDOWING절(ROWS | RANGE BETWEEN)] ) FROM 테이블명;
SQL
복사
ANALYTIC FUNCTION: 분석함수명(입력인자)
OVER: 분석함수임을 나타내는 키워드
PARTITION BY: 계산 대상 그룹 지정 >>GROUP BY와 비슷한 역할. 이 구문이 없으면 전체 데이터에 대해 계산이 적용됨.
ORDER BY: 대상 그룹에 대한 정렬 수행
WINDOWING 절 : 분석함수의 계산 대상 범위 지정
(ORDER BY절에 종속적. 기본 생략 구문 : 정렬된 결과의 처음~현재행까지)
집계함수 : (컬럼명)기입
반환값
COUNT(*)
복수 행의 ROW 개수
SUM(*)
복수 행의 해당 컬럼간 합계
AVG(*)
복수 행의 해당 컬럼간 평균
MAX(*)
복수 행의 해당 컬럼간 최대값
MIN(*)
복수 행의 해당 컬럼간 최소값
STDDEV(*)
복수 행의 해당 컬럼간 표준편차
VARIANCE(*)
복수 행의 해당 컬럼간 분산

주의사항

count(*) 를 제외하고 모든 집계함수는 null은 빼고 계산
sum, avg, stddev, variance: number 타입에만 사용가능.
min, max, count: 모든 타입에 다 사용가능.