목차
1. 집계함수
2. Group by 절
3. Having 절
group by
절과 having
절을 이해할 수 있다.count(*) :
null
을 포함한 모든 레코드를 계산한다.
count(컬럼명) : 해당 컬럼의 값이null
인 것을 제외하고 계산한다.
count()
를 이용해 citykorea
의 모든 레코드 수를 출력했다.sum(컬럼명)
의 형태로 사용하며 해당 컬럼의 값을 합산해준다.sum()
을 이용해 citykorea
의 인구수 합계를 출력했다.min(컬럼명)
의 형태로 사용하며 해당 컬럼의 최소, 최대값을 출력한다.max()
를 이용해 citykorea
의 가장 많은 인구수를 가진 도시의 이름과, 인구수를 출력했다.avg(컬럼명)
의 형태로 사용하며 해당 컬럼의 평균값을 출력한다.avg()
를 이용해 citykorea
의 평균 인구수를 출력했다.group by
는 "집계함수"의 결과를 특정 컬럼을 기준으로 묶어 결과를 출력해주는 쿼리이다.select
column,
집계함수(컬럼명)
from
table
(where column = data)
group by
column;
select
절에 Group으로 묶을 column과 집계함수를 사용한다. 마지막으로 group by
절에 Group의 기준컬럼을 입력한다.
group by
절을 이용해 대도시별 인구수 합계를 출력했다.having
절은 group by
절을 다시 필터링하기 위한 쿼리이다.select
절에 where
절을 이용해 조건을 거는것과 같다.select
column,
집계함수(컬럼명)
from
table
(where column = data)
group by
column
(having 집계함수(컬럼명) 부등호 data);
group by
절에 추가로 having
을 사용하면 된다.집계함수의 결과
를 사용해야 한다.having
절에 조건을 부여할 때에는 group by
처럼 집계함수를 사용해야 한다.select
에 사용된 집계함수를 사용할 필요는 없다.대도시별 인구수 합계가 100만을 초과
하는 대도시별 인구수 평균
을 출력했다.