[Database] 집계 함수 - AVG(평균), SUM(합), COUNT


AVG(평균), SUM(합), COUNT

  • 특정 속성 값을 통계적으로 계산한 결과를 검색
  • 집계 함수 (Aggregate Function)를 사용

    • 열 함수 (Column Function)라고도 함
    • 개수, 합계, 평균, 최댓값, 최솟값의 계산을 제공
  • 집계 함수


    • [주의 사항]
      • NULL 인 속성 값은 제외하고 계산함.
      • WHERE 절에서는 사용할 수 없고 SELECT 절과 HAVING 절에서만 사용할 수 있음.
  • 예제에 사용할 판매 데이터베이스

    • Customer 테이블
    • Items 테이블
    • Orders 테이블


AVG(평균)

  • SELECT AVG ( price ) FROM items;

  • 속성이름으로 AVG(price)을 사용함
  • AS 키워드를 사용해 이름을 부여

    • 새이름에 공란이 포함된 경우 작음따옴표로 묶는다.

    • SELECT AVG ( price ) AS 평균단가 FROM items;

    • SELECT AVG ( price ) AS ‘평균 단가’ FROM items;

SUM(합계)

  • Orders 테이블에서 2015-06-01 부터 2015-06-02 까지 주문한 제품 개수의 합계를 검색하시오.

    • SELECT SUM( qty ) AS ‘총 주문 수량’ FROM orders WHERE date >= ‘2015-06-01’ AND date <= ‘2015-06-02’;

COUNT

  • COUNT 함수
    • 테이블의 모든 속성에 적용하여 개수를 계산할 수 있음.
    • NULL 값은 제외 시킴
    • 중복된 값도 모두 별도 계산함
    • 기본키 속성이나 * 를 이용해 개수를 계산함
  • Customer 테이블에 등록되어 있는 고객의 수를 검색하시오.

    • 계정( account ) 속성을 이용해 계산하는 경우

      • SELECT COUNT( account ) AS 고객수 FROM customer;
    • 등급( grade ) 속성을 이용해 계산하는 경우

      • SELECT COUNT( grade ) AS 고객수 FROM customer;
    • 주소( address ) 속성을 이용해 계산하는 경우

      • SELECT COUNT( address ) AS 고객수 FROM customer;
    • (*) 를 이용해 계산하는 경우

      • (*) 는 모든 속성을 의미하는 기호
      • 모든 속성 값으로 구성된 투플을 대상으로 개수를 계산

        • SELECT COUNT( * ) AS 고객수 FROM customer;
  • Orders 테이블에서 주문된 제품( item )의 수를 검색하시오.

    • SELECT COUNT( item ) AS 주문수 FROM orders;

    • SELECT COUNT( DISTINCT item ) AS 제품수 FROM orders;