[Oracle] 오라클 COUNT 함수 사용법 (중복제거)

COUNT( ) 함수는 오라클에서 아주 기본적인 함수이며 자주 사용한다. 그러나 전체 건수를 반환하는 COUNT(*) 외에 다양한 사용방법이 있으니 아래를 참고하여 활용하면 좋을 것 같다.

 

COUNT( ) 함수 사용법

SELECT COUNT(*)            cnt 
     , COUNT(mgr)          cnt2 
     , COUNT(DISTINCT job) cnt3 
  FROM emp

 

 

COUNT(*)

  - 조회된 전체행 건수를 반환한다

COUNT(컬럼)

  - 컬럼의 값이 NULL인 행은 카운트 하지 않는다

COUNT(DISTINCT 컬럼)

  - 컬럼 값을 중복제거하고, 컬럼의 값 건수를 반환한다

 

GROUP BY ~ HAVING

 

- COUNT( ) 함수는 집계 함수이기 때문에 GROUP BY 절과 함께 사용할 수 있다

- WHERE 절에는 COUNT( ) 함수를 사용할 수 없지만, HAVING 절에는 조건으로 사용 가능하다.

 

함수사용

 

- COUNT( ) 함수 내부에 DECODE 함수나 CASE문 등을 사용하여 건수를 집계 할 수 있다.

 

COUNT(*) vs COUNT(1) 성능비교

COUNT(*)은 모든 컬럼 지칭하는 아스타리스크(*)가 있어 성능에 영향을 미칠 것으로 생각되어 COUNT(1)로 사용하는 경우가 있다. 그러나 위 두 가지의 경우 성능은 차이가 없기 때문에 일반적인 COUNT(*)을 사용하는 것을 권장한다.

 

COUNT_예제_쿼리(테이블포함).txt
0.01MB

 

 

 

댓글

Designed by JB FACTORY