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() 함수는 숫자를 반올림하는 함수로, 두 가지 매개변수를 받습니다.
- 첫 번째 매개변수
- 반올림할 숫자 (여기서는 AVG(salary))
- 두 번째 매개변수
- 소수점 자릿수
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년 미만인 직원의 급여는 계산에서 제외됩니다.
'Database > SQL' 카테고리의 다른 글
[MySQL] IntelliJ에서 Spring Boot와 MySQL 연동하기 (0) | 2024.07.23 |
---|---|
[ORACLE] 평균 구하는 방법 AVG() 와 ROUND() 활용, 올림(CEIL), 내림(FLOOR), 버림(TRUNC) (0) | 2024.04.23 |
[ORACLE] SYSDATE 사용법과 TO_CHAR() 함수 알아보기 (0) | 2024.04.21 |