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 등 조건을 사용할 수 있다