오경석의 개발노트

Oracle_집계함수 본문

프로그래밍 언어/Oracle

Oracle_집계함수

OHSAYU 2023. 11. 10. 15:25

여러 행들의 그룹이 모여서 그룹당 단 하나의 결과를 돌려주는 다중행 함수 중 집계 함수(Aggregate Function)의 특성은 다음과 같다.

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

 - GROUP BY 절은 행들을 소그룹화

 - SELECT 절, HAVING 절, ORDER BY 절에 사용

집계 함수명 ( [DISTINCT | ALL] 칼럼이나 표현식 )

 - ALL : Default 옵션이므로 생략 가능

 - DISTINCT : 같은 값을 하나의 데이터로 간주할 때 사용하는 옵션

 

 

-- 예제
SELECT
    COUNT(*)              AS 전체행수,
    COUNT(HEIGHT)         AS 키건수,
    MAX(HEIGHT)           AS 최대키, 
    MIN(HEIGHT)           AS 최소키,
    ROUND(AVG(HEIGHT), 2) AS 평균키
FROM PLAYER;

 

    실행 결과를 보면 COUNT(HEIGHT)는 NULL값이 아닌 키(HEIGHT) 칼럼의 건수만 출력하므로 COUNT(*)의 480보다 작은 것을 볼 수 있다. 그 이유는 COUNT(*) 함수에 사용된 와일드카드(*)는 전체 칼럼을 뜻하는데 전체 칼럼이 NULL인 행은 존재할 수 없기 때문에 결국 COUNT(*)는 전체 행의 개수를 출력한 것이고, COUNT(HEIGHT)는 HEIGHT 칼럼 값이 NULL인 33건은 제외된 건수의 합이다.

 

 

출처 : SQL 전문가 가이드

'프로그래밍 언어 > Oracle' 카테고리의 다른 글

Oracle_ORDER BY 절  (0) 2023.11.11
Oracle_GROUP BY, HAVING 절  (0) 2023.11.10
Oracle_WHERE 절  (0) 2023.11.10
Oracle_NULL 함수  (0) 2023.11.09
Oracle_CASE 표현  (0) 2023.11.09
Comments