DB

[SQL] COUNT(카운트)

초코파이쩡 2023. 3. 21. 13:51
반응형

오라클 집계 함수 COUNT

COUNT(*)  :   NULL 값을 포함한 행의 수를 출력한다.

 

 

• 집계 함수(Aggregate Function)

 

집계 함수명 ([DISTINCT | ALL] 칼럼이나 표현식) - ALL : Default 옵션이므로 생략 가능함 - DISTINCT : DISTINCT : 같은 값을 하나의 데이터로 간주할 때 사용하는 옵션임

 

집계 함수 사용 목적
COUNT(*) NULL 값을 포함한 행의 수를 출력한다.
COUNT(표현식) 표현식의 값이 NULL 값인 것을 제외한 행의 수를 출 력한다.
SUM([DISTINCT | ALL] 표현식) 표현식의 NULL 값을 제외한 합계를 출력한다.
AVG([DISTINCT | ALL] 표현식) 표현식의 NULL 값을 제외한 평균을 출력한다.
MAX([DISTINCT | ALL] 표현식) 표현식의 최대값을 출력한다.
(문자,날짜 데이터 타입도 사용가능)
MIN([DISTINCT | ALL] 표현식) 표현식의 최소값을 출력한다 
(문자,날짜 데이터 타입도 사용가능)
STDDEV([DISTINCT | ALL] 표현식) 표현식의 표준 편차를 출력한다.
VARIAN([DISTINCT | ALL] 표현식) 표현식의 분산을 출력한다
기타 통계 함수 벤더별로 다양한 통계식을 제공한다

 

[예제] 일반적으로 집계 함수는 GROUP BY 절과 같이 사용되지만 테이블 전체가 하나의 그룹이 되는 경우에는 GROUP BY 절 없이 단독으로도 사용 가능하다.

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

 

실행결과

전체 행수                  키 건수                  최대키                  최소키                  평균키
    480                           447                      196                       165                     179.31

1개의 행이 선택되었다

 

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

 


참조: 한국데이터베이스진흥원

반응형

'DB' 카테고리의 다른 글

[SQL] 조건문 DECODE  (0) 2023.03.23
[SQL] GROUP BY절, HAVING 절  (0) 2023.03.23
[sql] WHERE 절 문법  (0) 2023.03.14
[SQL] 오라클 정렬 sort (order by 절 사용법)  (0) 2023.03.14
[SQL 기본] 관계형 데이터베이스 개요  (0) 2023.03.09