MSSQL COUNT, SUM, AVG, MAX, MIN 사용법 – 집계 함수
MS SQL에서 집계 함수는 값 집합에 대한 계산을 수행하고 단일 값을 돌려주는 함수로서 COUNT(*)를 제외한 집계 함수는 NULL 값을 무시합니다. 집계 함수는 SELECT 문의 GROUP BY 절과 대부분 같이 사용합니다.
그럼 간단한 예제를 통해서 집계 함수 중에서 가장 많이 사용되는 COUNT, SUM, AVG, MAX, MIN 함수에 알아보죠.
포스트 기준
– Microsoft SQL Server 2019
– SSMS 18.10
구문
1. 구문(syntaxsql)
COUNT ( { [ [ ALL | DISTINCT ] expression ] | * } )
SUM ( [ ALL | DISTINCT ] expression )
AVG ( [ ALL | DISTINCT ] expression )
MAX( [ ALL | DISTINCT ] expression )
MIN ( [ ALL | DISTINCT ] expression )
2. 자주 사용하는 집계 함수
| 함수 이름 | 설명 |
|---|---|
| COUNT | 그룹에 있는 항목의 수를 반환 |
| SUM | 그룹에 있는 항목의 합계를 반환 |
| AVG | 그룹에 속한 값의 평균을 반환 |
| MAX | 그룹에 최대값을 반환 |
| MIN | 그룹에 최소값을 반환 |
사용 예제
COUNT, SUM, AVG, MAX, MIN 함수 예제
-- 테스트 데이터
SELECT *
FROM BS_DEMO_8_4
-- 예제1) 중복값 포함
SELECT COUNT(*) AS 'COUNT(*)', -- 행의 개수 : NULL 포함
COUNT(SCORE) AS 'COUNT(SCORE)', -- 행의 개수 : NULL 제외
SUM(SCORE) AS 'SUM(SCORE)', -- 합계 값 : NLL 제외
AVG(SCORE) AS 'AVG(SCORE)', -- 평균 값 : NULL 제외
MAX(ALL SCORE) AS 'MAX(SCORE)', -- 초대 값 : NULL 제외
MIN(SCORE) AS 'MIN(SCORE)' -- 최소 값 : NULL 제외
FROM BS_DEMO_8_4
-- 예제2) 중복값 제외
SELECT
-- 행의 개수 : NULL, 중복값 제외
COUNT(DISTINCT SCORE) AS 'COUNT(DISTINCT SCORE)',
-- 합계 값 : NLL, 중복값 제외
SUM(DISTINCT SCORE) AS 'SUM(DISTINCT SCORE)',
-- 평균 값 : NLL, 중복값 제외
AVG(DISTINCT SCORE) AS 'AVG(DISTINCT SCORE)',
-- 초대 값 : NLL, 중복값 제외
MAX(DISTINCT SCORE) AS 'MAX(DISTINCT SCORE)',
-- 최소 값 : NLL, 중복값 제외
MIN(DISTINCT SCORE) AS 'MIN(DISTINCT SCORE)'
FROM BS_DEMO_8_4① COUNT(*)는 NULL 포함한 행 전체의 개수를 반환
▶ *를 가장 많이 사용
② ALL은 생략 가능 – 기본값은 ALL입니다.
③ DISTINCT은 중복 값 제외

함께 보면 좋은 게시글
- MSSQL GROUP BY 절, HAVING 절 사용법
- MSSQL ORDER BY 절 데이터 정렬 방법(순서 지정) 오름차순, 내림차순
- MSSQL DISTINCT 중복 행 제거하는 방법 (SELELCT 절)
- MSSQL PIVOT(피벗), UNPIVOT 함수 – 행을 열로 변환하는 방법
- MSSQL TOP 원하는 행 수(개수) 만큼 지정하는 방법 (SELECT 절)
이 글이 도움이 되셨다면 공유 부탁 드립니다.


![[SSMS] 로컬 서버(PC)에 설치한 MSSQL 서버 연결하는 방법](https://bluesharehub.com/wp-content/uploads/2022/02/img_41.png)
