1. 집계 함수는 NULL값을 제외 하고 값을 집계 한다
예시 데이터
집계 함수 | 결과 | 설명 |
---|---|---|
COUNT(amount) | 3 | NULL을 제외한 값이 있는 행의 개수 |
SUM(amount) | 700 | NULL을 제외한 값들의 합계 (100 + 200 + 400) |
AVG(amount) | 233.33 | NULL을 제외한 값들의 평균 (700 / 3) |
MIN(amount) | 100 | NULL을 제외한 값 중 가장 작은 값 |
MAX(amount) | 400 | NULL을 제외한 값 중 가장 큰 값 |
집계 함수 | 결과 | 설명 |
---|---|---|
COUNT(*) | 5 | NULL을 포함한 전체 행의 개수 (행이 존재 하면 카운팅) |
SUM(COALESCE(amount, 0)) | 700 | NULL을 0으로 대체하여 합계 계산 |
- COUNT(*) 예시
집계 함수 | 결과 | 설명 |
---|---|---|
COUNT(*) | 5 | 모든 행을 카운트, NULL 여부와 상관없이 모든 행을 포함 |
-COALESCE : NULL 값이 있는 경우 해당 값을 다른값으로 변환해주므로 NULL을 삭제 시켜주게 된다. 이로써 집계함수에 해당 값이 포함 될 수 있다.
집계 함수 | 결과 | 설명 |
---|---|---|
SUM(COALESCE(age, 0)) | 95 | NULL 값을 0으로 대체하여 age 값을 합산 (30 + 0 + 25 + 40 + 0) |
예시 데이터
1) 부서별 급여의 합을 알고 싶은 상황
SELECT department, SUM(salary) AS total_salary
FROM employees
GROUP BY department;
2) 부서별 평균 급여를 알고 싶은 상황
SELECT department, AVG(salary) AS avg_salary
FROM employees
GROUP BY department
3) 부서별 직원 수 구하기
SELECT department, COUNT(*) AS num_employees
FROM employees
GROUP BY department;