본문 바로가기

[오라클 레퍼런스 함수] APPROX_COUNT_DISTINCT - 고유한 개수의 근사치를 반환

by ㅇㅍㅍ 2023. 7. 29.
[오라클 레퍼런스 함수] APPROX_COUNT_DISTINCT - 고유한 개수의 근사치를 반환
728x90

APPROX_COUNT_DISTINCT

 

구문

APPROX_COUNT_DISTINCT(expr)

 

목적

APPROX_COUNT_DISTINCT 함수는 expr의 고유한 값을 가진 행의 근사적인 개수를 반환합니다.

이 함수는 COUNT (DISTINCT expr) 함수의 대안을 제공합니다. COUNT 함수는 expr의 고유한 값이 있는 행의 정확한 개수를 반환하지만, APPROX_COUNT_DISTINCTCOUNT보다 훨씬 빠르게 대량의 데이터를 처리하며, 정확한 결과와 미미한 차이가 있습니다.

expr에는 BFILE, BLOB, CLOB, LONG, LONG RAW 또는 NCLOB를 제외한 모든 스칼라 데이터 유형의 열을 지정할 수 있습니다.

APPROX_COUNT_DISTINCT 함수는 expr에 대해 null 값을 포함하는 행을 무시합니다. 이 함수는 NUMBER를 반환합니다.

 

참조:

  • COUNT (DISTINCT expr) 함수에 대한 더 자세한 정보는 COUNT를 참조하십시오.
  • Oracle Database Globalization Support Guide의 Appendix C에서 collation 결정 규칙을 참조하십시오. 이는 APPROX_COUNT_DISTINCTexpr의 문자 값 비교에 사용하는 정렬을 정의합니다.

 

예제

다음 구문은 manager_id의 고유한 값으로 이루어진 행의 근사치 개수를 반환합니다:

SELECT APPROX_COUNT_DISTINCT(manager_id) AS "Active Managers"
  FROM employees;

Active Managers
---------------
             18

 

다음 구문은 각 제품별로 고유한 고객의 근사치 개수를 반환합니다:

SELECT prod_id, APPROX_COUNT_DISTINCT(cust_id) AS "Number of Customers"
  FROM sales
  GROUP BY prod_id
  ORDER BY prod_id;

   PROD_ID Number of Customers
---------- -------------------
        13                2516
        14                2030
        15                2105
        16                2367
        17                2093
        18                2975
        19                2630
        20                3791
. . .

 


출처: 오라클 레퍼런스

원문 링크: Oracle APPROX_COUNT_DISTINCT 함수 문서

 

반응형

댓글