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
절 뒤에 위치.