1. 집계 함수Aggregate Function
여러 행들의 그룹이 모여서
단 하나의 결과 돌려주는 다중행 함수 中 1.
집계 함수의 특성
- 여러 행들의 그룹이 모여 그룹당 단 하나의 결과를 돌려주는 함수.
ORDER BY절은 행들을 소그룹화 한다.SELECT절,HAVING절,ORDER BY절에 사용 가능.
집계 함수명 ( [DISTINCT | ALL] 칼럼이나 표현식 )‐
ALL : Default 옵션이므로 생략 가능‐
DISTINCT : 같은 값을 하나의 데이터로 간주할 때 사용| 집계 함수 | 사용 목적 |
COUNT(*) | NULL 값 포함한 행의 수 출력 |
NULL(표현식) | NULL 값 제외하고 행의 수 출력 |
SUM([DISTINCT | ALL] 표현식) | |
AVG([DISTINCT | ALL] 표현식) | |
MAX([DISTINCT | ALL] 표현식) | |
MIN([DISTINCT | ALL] 표현식) |
2. GROUP BY 절
SELECT [DISTINCT] 칼럼명 [ALIAS명]FROM 테이블명[WHERE 조건식][GROUP BY 칼럼이나 표현식][HAVING 그룹조건식];GROUP BY 절과 HAVING 절의 특성
GROUP BY절 통해 소그룹별 기준 정한 후,
SELECT절에 집계 함수 사용.- 집계 함수의 통계 정보는
NULL값 가진 행 제외하고 수행. GROUP BY절에선SELECT절과는 달리
ALIAS명 사용불가.- 집계 함수는
WHERE절엔 올 수 없음.
(WHERE절보다GROUP BY절이 먼저 수행) WHERE절은 전체 데이터를GROUP으로 나누기 전에
행들을 먼저 제거시킨다.HAVING절은
GROUP BY절의 기준 항목이나 소그룹의 집계 함수를
이용한 조건을 표시 가능.GROUP BY절에 의한 소그룹별 집계 데이터 중,
HAVING절에서 제한 조건을 두어
조건 만족하는 내용 출력.HAVING절은 일반적으로
GROUP BY절 뒤에 위치.