본문 바로가기
CS/DB

집계함수 - COUNT / SUM / AVG / MIN / MAX

by 넬준 2021. 12. 3.

집계함수

대표적인 집계함수로

 

COUNT(집합)
SUM(집합)
AVG(집힙)
MIN(집합)
MAX(집합)

 

집계함수는 인수로 집합을 지정한다. 

또, 여러 값(집합)에서 하나의 값을 계산해내는 함수다.

따라서 SELECT 구에 쓰면 WHERE 구와 관계없이 하나의 행으로 결과값이 반환된다.

 

집계함수는 집합 안에 NULL 값이 있으면 무시한다.

 

COUNT

SELECT COUNT(*) FROM table WHERE 조건식;

 

COUNT(*)
5

COUNT(집합) 집계함수로 조건식에 맞는 행 개수를 구할 수 있다.

WHERE 구 먼저 처리 후, SELECT 구가 처리되기 때문에 WHERE 구 조건식에 맞는 행의 개수가 반환된다.

 

 

* DISTINCT로 중복값 제거

 

SELECT ALL name FROM table;
/* ALL 생략 가능 */

 

결과)

 

name
A
A
B
C
NULL

 

SELECT DISTINCT name FROM table;

 

결과)

 

name
A
B
C
NULL

 

COUNT 집계함수에 적용해보면,

 

SELECT COUNT(ALL name), COUNT(DISTINCT name) FROM table;

 

COUNT(ALL name) COUNT(DISTINCT name)
4 3

 

집계함수에서 NULL은 제외가 되기 때문에 위와 같은 결과가 나온다.

집계함수의 인수에 DISTINCT를 이용해 중복을 제거한 뒤에 COUNT함수에 주어진다.

 

SUM

집합의 합계를 반환하는 함수다.

SUM함수의 인수로 가능한 집합은 수치형 뿐이다.

 

AVG

집합의 평균값을 반환하는 함수다.

SUM함수와 동일하게 수치형만 인수로 가능하다.

( SUM(집합) / COUNT(집합) 과 같은 값을 가진다. )

 

MIN / MAX

집합의 최솟값 / 최댓값을 반환하는 함수다.

문자열형과 날짜시간형에서도 사용할 수 있다.

 


집계함수의 활용을 높여줄 수 있는 GROUP BY 내용은

2021.12.03 - [CS/DB] - 그룹화 - GROUP BY 참고!

 

그룹화 - GROUP BY

GROUP BY 구에 열을 지정하여 그룹화하면 지정된 열의 값이 같은 행끼리 하나의 그룹으로 묶인다. 마치 DISTINCT와 같이 중복을 제거하는 효과가 있다. SELECT name, COUNT(name), SUM(quantity) FROM table GROUP..

nelljundev.tistory.com

 

'CS > DB' 카테고리의 다른 글

서브쿼리  (0) 2021.12.03
그룹화 - GROUP BY  (0) 2021.12.03
데이터 추가, 갱신, 삭제 - INSERT / UPDATE / DELETE  (0) 2021.12.03
CASE문  (0) 2021.12.03
연산  (0) 2021.12.03

댓글