1. 집계 함수(Aggregate Function)
여러 행들의 그룹이 모여 그룹당 단 하나의 결과를 돌려주는 다중행 함수
집계함수명( [DISTINCT | ALL] 칼럼이나 표현식 )
- ALL : Default 옵션이므로 생략 가능
- DISTINCT : 중복 제외
집계함수 | 사용목적 |
COUNT(*) | NULL값을 포함한 행의 수를 출력한다 |
COUNT(표현식) | 표현식의 값이 NULL 값인 것을 제외한 행의 수를 출력한다 |
SUM( [DISTINCT | ALL] 표현식 ) | 표현식이 NULL 값을 제외한 합계를 출력한다 |
AVG( [DISTINCT | ALL] 표현식 ) | 표현식이 NULL 값을 제외한 평균을 출력한다 |
MAX( [DISTINCT | ALL] 표현식 ) | 표현식의 최대값을 출력한다 |
MIN( [DISTINCT | ALL] 표현식 ) | 표현식의 최소값을 출력한다 |
STDDEV( [DISTINCT | ALL] 표현식 ) | 표현식의 표준 편차를 출력한다 |
VARIAN( [DISTINCT | ALL] 표현식 ) | 표현식의 분산을 출력한다 |
기타 통계 함수 |
2. GROUP BY절
SELECT [DISTINCT] 칼럼명 [ALIAS명]
FROM 테이블명
[WHERE 조건식]
[GROUP BY 컬럼이나 표현식]
[HAVING 그룹조건식]
특성
- 소그룹별 기준을 정한 후 SELECT절에 집계함수를 사용한다
- 집계 함수의 통계정보는 NULL값을 가진 행을 제외하고 수행한다
- GROUP BY절에서는 SELECT절과는 달리 ALIAS명을 사용할 수 없다
- 집계함수는 WHERE절에는 올 수 없다(WHERE절이 먼저 수행되기 때문!)
- WHERE절은 전체 데이터를 GROUP으로 나누기 전에 행들을 미리 제거시킨다
- HAVING절은 GROUP BY절의 기준항목이나 소그룹의 집계함수를 이용한 조건을 표시할 수 있다
- GROUP BY절에 의한 소그룹별로 만들어진 집계 데이터 중 HAVING절에 제한조건을 두어 조건을 만족하는 내용만
출력한다
- HAVING절은 일반적으로 GROUP BY절 뒤에 위치한다
[SQL 전문가 가이드] 조인(JOIN) (0) | 2022.09.06 |
---|---|
[SQL 전문가 가이드] TOP(N) 쿼리, ROWNUM 조건 (0) | 2022.09.05 |
[SQL 전문가 가이드] 함수(Function) (0) | 2022.09.03 |
[PostgreSQL] 시작하기 (0) | 2022.06.10 |
[SQL] SQL이란? (0) | 2022.06.10 |