Home 제1장 - 제7절: GROUP BY, HAVING 절
Post
Cancel

제1장 - 제7절: GROUP BY, HAVING 절

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