Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL 그룹 함수란? 종류와 특징 한눈에 정리

MySQL 그룹 함수란 무엇인가?

그룹 함수(Group Function)는 여러 행(row)으로 구성된 그룹 전체에 적용되는 함수입니다. 즉, 개별 행 단위가 아니라 값들의 집합을 대상으로 연산을 수행하며, '집계 함수(Aggregate Function)'라고도 부릅니다. 주로 GROUP BY 절과 함께 사용되어 부서별 평균 급여, 전체 주문 건수처럼 데이터를 요약한 결과를 얻을 때 활용됩니다.

아래에서 MySQL이 제공하는 대표적인 그룹 함수들을 용도별로 나누어 정리했습니다.

1. 기본 집계 함수

번호함수 및 설명
1AVG()
인자로 전달된 값들의 평균값을 반환합니다.
2COUNT()
조회된 행(row)의 개수를 반환합니다.
3COUNT(DISTINCT)
중복을 제거한 서로 다른 값의 개수를 반환합니다.
4MAX()
그룹 내 최댓값을 반환합니다.
5MIN()
그룹 내 최솟값을 반환합니다.
6SUM()
그룹 내 값들의 합계를 반환합니다.
7GROUP_CONCAT()
그룹 내 문자열 값들을 하나로 연결(concatenate)하여 반환합니다.

2. 비트 연산 함수

번호함수 및 설명
1BIT_AND()
그룹 내 모든 값에 대한 비트 AND 연산 결과를 반환합니다.
2BIT_OR()
그룹 내 모든 값에 대한 비트 OR 연산 결과를 반환합니다.
3BIT_XOR()
그룹 내 모든 값에 대한 비트 XOR 연산 결과를 반환합니다.

3. 통계 관련 함수

번호함수 및 설명
1STD()
모표준편차(population standard deviation)를 반환합니다.
2STDDEV()
모표준편차를 반환합니다. STD()와 동일하게 동작합니다.
3STDDEV_POP()
모표준편차를 반환합니다.
4STDDEV_SAMP()
표본표준편차(sample standard deviation)를 반환합니다.
5VAR_POP()
모분산(population variance)을 반환합니다.
6VAR_SAMP()
표본분산(sample variance)을 반환합니다.
7VARIANCE()
모분산을 반환합니다. VAR_POP()과 동일하게 동작합니다.

그룹 함수 사용 예시

SELECT AVG(salary), COUNT(*), MAX(salary), MIN(salary)
FROM employees;

위 쿼리는 직원 테이블에서 평균 급여, 총 인원 수, 최고 및 최저 급여를 한 번의 조회로 얻어냅니다. 이처럼 그룹 함수를 활용하면 여러 행의 데이터를 손쉽게 요약할 수 있습니다.

알아두면 좋은 점

대부분의 그룹 함수는 계산 시 NULL 값을 제외합니다. 반면 COUNT(*)는 행 자체를 세는 함수이므로 NULL 여부와 관계없이 전체 행 수를 반환한다는 점을 기억해 두면 유용합니다.