728x90

AVG() 함수란❓

MySQL의 AVG() 함수는 데이터베이스에서 평균값을 계산하는 필수적인 집계 함수입니다.

기본 문법

SELECT AVG(column_name) FROM table_name;

 

AVG() 함수의 특징

1. NULL 처리

SELECT AVG(IFNULL(salary, 0)) FROM employees;

 

  • NULL 값자동으로 계산에서 제외
  • NULL을 0으로 처리하려면 IFNULL 함수 사용 필요

2. 소수점 처리

-- 급여 평균이 3456.789일 경우
SELECT ROUND(AVG(salary), 2);  -- 결과: 3456.79
SELECT ROUND(AVG(salary), 1);  -- 결과: 3456.8
SELECT ROUND(AVG(salary), 0);  -- 결과: 3457

 

소수점을 처리하려면 ROUND()함수를 같이 사용합니다.

 

 ROUND() 함수숫자를 반올림하는 함수로, 두 가지 매개변수를 받습니다.

  1. 첫 번째 매개변수
    • 반올림할 숫자 (여기서는 AVG(salary))
  2. 두 번째 매개변수
    • 소수점 자릿수

 

AVG() 함수 활용 예시

1. 기본 평균 계산

SELECT AVG(price) FROM products;

 

가장 단순한 형태로, products 테이블의 price 컬럼 전체 평균값을 계산합니다.

2. 그룹별 평균

SELECT category, AVG(price) as avg_price 
FROM products 
GROUP BY category;

 

GROUP BY 절을 사용하여 카테고리별로 평균을 계산합니다.

3. 조건부 평균

SELECT department, 
       AVG(CASE 
           WHEN experience >= 5 THEN salary 
           END) as senior_avg_salary
FROM employees
GROUP BY department;

 

CASE 문을 활용하여 조건에 맞는 데이터만 평균을 계산합니다. 이 예시에서는 경력 5년 이상인 직원들의 부서별 평균 급여를 계산합니다. 경력 5년 미만인 직원의 급여는 계산에서 제외됩니다.