SQL SUM / AVG :: 합계 / 평균 구하는 함수

SQL 그룹 함수인 SUM( )과 AVG( )의 관한 포스팅입니다

아래 테이블로 설명을 진행하겠습니다

NAME CLASS SALARY
철수 A 100
영희 B 200
훈이 B 300
정훈 A 400
현우 A 400

SUM

SUM( EXPR )  -  EXPR의 총합을 구하는 함수입니다

SELECT SUM(SALARY)
  FROM TABLE

- SALARY칼럼의 총합을 구해달라는 내용입니다

SUM(SALARY)
1400

하나의 행만 출력되며 모든 ROW의 SALARY 값을 더해 출력이 됩니다

 

SUM 함수는 그룹 함수로써 GROUB BY 절을 이용해 그룹별로 묶어 값을 출력할 수 있습니다

SELECT CLASS
     , SUM(SALARY)
  FROM TABLE
 GROUP BY CLASS

- 클래스 별로 SALARY의 합을 구해달라는 쿼리입니다

CLASS SUM(SALARY)
A 900
B 500

A 클래스의 SALARY의 합과 B 클래스의 SALARY의 합이 출력되었습니다


AVG

AVG( EXPR )  -  EXPR의 평균을 구하는 함수입니다

사용법은 SUM 함수와 동일하지만 총합이 아니라 평균을 구하는 점이 다른 부분입니다

SELECT AVG(SALARY)
  FROM TABLE

- SALARY칼럼의 평균을 구해달라는 내용입니다

AVG(SALARY)
280

하나의 행만 출력되며 SALARY칼럼 모든 행의 평균을 출력합니다

 

AVG 함수는 그룹 함수로써 GROUB BY 절을 이용해 그룹별로 묶어 값을 출력할 수 있습니다

SELECT CLASS
     , AVG(SALARY)
  FROM TABLE
 GROUP BY CLASS

- 클래스 별로 SALARY의 평균을 구해달라는 쿼리입니다

CLASS AVG(SALARY)
A 300
B 250

A클래스들의 SALARY값 평균과 B클래스들의 SALARY값 평균이 출력되었습니다

 

위 그룹 함수들을 사용할 때 EXPR에는 꼭 칼럼명이 아니라 CASE 등 조건을 사용할 수 있다