MSSQL COUNT, SUM, AVG, MAX, MIN 사용법 - 집계 함수

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은 중복 값 제외

COUNT, SUM, AVG, MAX, MIN 함수 예제

함께 보면 좋은 게시글

위로 스크롤