본문 바로가기
개발기록/Oracle & SQLD

집계함수 / COUNT, SUM, AVG, MAX, MIN, STDDEV, VARIAN

by 쎄정 2022. 5. 17.
728x90
반응형

목차

     

    집계함수

    여러 행들의 그룹이 모여서 그룹당 단 하나의 결과를 돌려주는 함수

    GROUP BY절은 소 그룹화한다.

    SELECT 절, HAVING 절, ORDER BY 절에 사용할 수 있다.

     

    GROUB BY

    소그룹별 기준을 정한 후 SELECT 절에 집계함수를 사용한다.

    ALIAS를 사용할 수 없다.

    WHERE절에 올 수 없다.

    WHERE 절은 전체 데이터를 GROUP으로 나누기전에 행들을 처리한다.

     

     

     

    COUNT(*)

    NULL값을 포함한 행의 수를 출력한다.

     

    COUNT(표현식)

    행의 수를 출력 / NULL값 제외

     

    SUM(표현식)

    표현식의 합계출력  / NULL 값 제외

    숫자형 데이터에서 사용가능

     

    AVG(표현식)

    표현식의 평균출력 / NULL 값 제외

    숫자형 데이터에서 사용가능

     

    MAX(표현식)

    표현식의 최대값출력 / NULL 값 제외

    날짜형 데이터에서 사용가능  / MAX(날짜) = 가장 최근 날짜

     

    MIN(표현식)

    표현식의 최소값출력 / NULL 값 제외

    날짜형 데이터에서 사용가능  / MAX(날짜) = (가장 오래된 날짜) 

     

    STDDEV(표현식)

    표현식의 표준편차 출력 / NULL 값 제외

     

    VARIAN(표현식)

    표현식의 분산을 출력 / NULL 값 제외

     

     

    예시

    SELECT COUNT(*), COUNT(NUM), SUM(NUM), AVG(NUM), MAX(NUM), MIN(NUM)
    FROM
    (
    	SELECT NULL AS NUM FROM DUAL
    	UNION ALL
    	SELECT 10 AS NUM FROM DUAL
    	UNION ALL
    	SELECT 20 AS NUM FROM DUAL
    	UNION ALL	
    	SELECT 30 AS NUM FROM DUAL
    	UNION ALL	
    	SELECT 40 AS NUM FROM DUAL
    );
    
    COUNT(*) -- 5 
    COUNT(NUM) -- 4 
    SUM(NUM) -- 100
    AVG(NUM) -- 25
    MAX(NUM) -- 40
    MIN(NUM) -- 10
    728x90
    반응형

    댓글