본문 바로가기
CS/DataBase

데이터베이스 첫걸음 정리 - 21장. COUNT 이외의 집계함수

by yongckim 2022. 9. 17.
728x90
반응형

집계함수 SUM

SUM 집계함수를 사용하면 집합의 합계를 구할 수 있습니다.

예를 들어, 1, 2, 3 이라는 세 개의 값을 가지는 집합이 있다고 할때 SUM 집계함수를 사용하면 1 + 2 + 3으로 계산하여 6이라는 값으로 반환합니다.

다음은 SUM의 사용예시입니다.

SELECT SUM(quantity) FROM product;

quantity의 전체 합인 21이 잘 출력되는 것을 볼 수 있습니다.

SUM 집계함수에 지정되는 집합은 수치형 뿐으로, 문자열 형이나 날짜 시간형의 집합에서 합계를 구할수는 없습니다.

<aside> 💡 SUM 함수의 경우에도 NULL 값을 무시하고 계산합니다.

</aside>

집계함수 AVG

집계함수 AVG를 사용하면 평균값을 간단하게 구할 수 있습니다.

다음은 AVG 함수의 사용예시입니다.

select * from product;

위와 같이 평균값이 잘 출력되는 것을 확인할 수 있습니다.

AVG도 SUM과 마찬가지로 수치형 데이터에만 사용할 수 있으며 NULL 값을 무시합니다.

만약 NULL을 0으로 간주해서 평균을 내고 싶을 경우 CASE를 사용해 NULL을 0으로 변환하고 AVG 함수로 계산하면 됩니다.

SELECT AVG(CASE WHEN quantity IS NULL THEN 0 ELSE quantity END) AS avgnull0
FROM product;

집계함수 MIN, MAX

집계함수 MIN, MAX를 사용하면 집합에서 데이터의 최소값과 최대값을 구할 수 있습니다.

이 함수는 수치형 이외에도 문자열형과 날짜 시간형에도 사용할 수 있습니다.

단, MIN, MAX 집계함수도 NULL 값은 무시합니다.

다음은 집계함수 MIN, MAX의 사용 예시입니다.

SELECT MIN(quantity), MAX(quantity), MIN(name), MAX(name) FROM product;

정리

  • SUM 집계함수를 사용하면 집합의 합계를 계산할 수 있습니다.
  • AVG 집계함수를 사용하면 집합의 평균값을 계산할 수 있습니다.
  • SUM, AVG 집계함수는 수치형에만 사용할 수 있습니다.
  • MIN, MAX 집계함수를 사용하면 최소 값과 최대 값을 구할 수 있습니다.
  • 집계함수는 계산할 때 NULL 값을 무시하기 때문에 NULL 값에 특정 처리를 하고 싶은 경우 CASE를 사용해야 합니다.
반응형