5.1 GROUP BY
5.1.2 GROUP BY 사용 이유
- 특정 컬럼을 기준으로 그룹화가 가능하다.
집계를 편하게 하기 위해 GROUP BY 문법을 이용
SELECT 소속반, COUNT(소속반)
FROM 수강생정보
GROUP BY 소속반;
<결과> GROUP BY를 사용하여 공통된 튜플로 묶였다.
- 테이블은 항상 사각형 모형을 이루어야한다. 위 그림은 컬럼별 튜플의 개수가 맞지 않기 때문에 하나의 테이블로 만들어질 수 없는 것이다
5.2 집계함수의 종류
↓
COUNT(col)
- 그룹화한 컬럼 기준으로 행의 개수를 출력
- 다른 집계함수와 달리 col 자리에 * (ASTERISK) 사용 가능
- 모든 자료형에 이용가능
MAX(col) , MIN(col)
- 그룹화된 컬럼을 기준으로 col의 최대, 최소값을 출력
- NULL 데이터는 무시(대신, 모두 NULL이면 NULL 출력)
- 모든 자료형에 이용가능
AVG(col)
- 그룹 기준으로 입력한 col에 대해 평균값을 출력
- NULL 데이터는 무시(대신, 모두 NULL이면 NULL 출력)
- 숫자형에만 이용가능
SUM(col)
- 그룹 기준으로 입력한 col에 대해 합계값을 출력
- NULL 데이터는 무시(대신, 모두 NULL이면 NULL 출력)
- 숫자형에만 이용가능
- GROUP BY가 없어도 집계함수 사용이 가능하다.
이 경우에는 성적표 테이블에 있는 모든 튜플을 하나의 그룹으로 판단한다 .
대신 이 때, SELECT에는 집계되지 않은 커럼은 집계된 함수와 사용 불가능!