Computer >> 컴퓨터 >  >> 프로그래밍 >> SQL Server

SQL Server AVG 함수 사용법 완벽 정리: 문법부터 실전 예제까지

이 글에서는 SQL Server의 숫자 처리 함수인 AVG()를 사용하는 방법을 구체적인 문법과 다양한 예제를 통해 자세히 살펴보겠습니다. 예제를 함께 따라 하면 함수의 동작 원리를 더욱 쉽게 이해할 수 있습니다.

AVG 함수란?

SQL Server의 AVG 함수는 특정 표현식의 평균값, 즉 선택된 행 중 지정한 열 값들의 산술 평균을 반환하는 집계 함수입니다. 이때 NULL 값은 평균 계산에서 자동으로 제외되며, 개수에 포함되지 않습니다.

기본 문법

SQL Server에서 평균값을 계산하려면 다음과 같이 AVG 함수를 사용합니다.

SELECT AVG(열이름)
FROM 테이블이름
[WHERE 조건];

매개변수 설명

  1. 열이름(cot): 평균을 구하고자 하는 열 또는 계산식(표현식)
  2. 테이블(bang): 레코드를 가져올 테이블. FROM 절에는 최소 1개 이상의 테이블이 반드시 지정되어야 합니다.
  3. 조건(dieukien): 생략 가능. 선택되는 레코드가 충족해야 하는 조건입니다.

지원 버전 안내

AVG 함수는 SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 등 이후 버전에서 모두 사용할 수 있습니다.

실전 예제

다음은 데이터베이스에서 흔히 접할 수 있는 상황을 바탕으로 한 AVG 함수 활용 예제입니다.

예제에 사용할 샘플 데이터 테이블은 아래와 같습니다.

SQL Server AVG 함수 사용법 완벽 정리: 문법부터 실전 예제까지

예제 1: 게시물 수의 전체 평균 구하기

Quantrimang 웹사이트의 게시물 수(Sobai) 평균을 구하는 기본적인 예제입니다.

SELECT AVG(Sobai) AS "So bai trung binh"
FROM Quantrimang
WHERE Sobai > 100;

결과: So bai trung binh 128.2

이 예제에서는 WHERE 조건을 만족하는 모든 행의 Sobai 값을 더한 뒤, 해당 행의 총 개수로 나누어 평균을 계산합니다. 즉, 게시물 수가 100보다 큰 모든 레코드가 평균 계산에 포함됩니다.

예제 2: DISTINCT 키워드 활용하기

DISTINCT 키워드를 함께 사용하면 중복된 값은 한 번만 계산됩니다.

SELECT AVG(DISTINCT Sobai) AS "So bai trung binh"
FROM Quantrimang
WHERE Sobai > 100;

결과: So bai trung binh 135

이 예제에서는 DISTINCT 키워드 때문에 중복 값이 한 번만 계산됩니다. 위 데이터 테이블에서 '101'이라는 값이 두 번 등장하지만 한 번만 계산되므로, 평균에 포함되는 행은 총 4개가 됩니다. 계산 과정은 다음과 같습니다.

(152 + 101 + 122 + 165) / 4 = 135

예제 3: GROUP BY로 그룹별 평균 구하기

선택된 행들을 특정 열 기준으로 묶어 각 그룹의 평균값을 구하려면 GROUP BY 절을 사용해야 합니다.

아래 예제는 대분류(Chuyenmuclon)별로 관련 레코드의 평균 게시물 수를 계산합니다.

SELECT Chuyenmuclon, AVG(Sobai) AS "So bai trung binh"
FROM Quantrimang
GROUP BY Chuyenmuclon;

결과:
Chuyenmuclon               So bai trung binh
Laptrinh                   108
Mang xa hoi                158.5
Trinh duyet web            94

이처럼 GROUP BY 절을 활용하면 카테고리별 통계를 손쉽게 도출할 수 있어, 보고서 작성이나 데이터 분석에 매우 유용합니다.