카테고리:

집계 함수 (백분위수 추정) , 윈도우 함수

APPROX_PERCENTILE_ESTIMATE

지정된 t-Digest 상태에 대해 원하는 근사 백분위수 값을 반환합니다.

APPROX_PERCENTILE_ACCUMULATEAPPROX_PERCENTILE_COMBINE 에 의해 생성된 t-Digest 상태는 이 함수를 사용하여 백분위수 추정치를 계산하는 데 사용할 수 있습니다.

따라서 APPROX_PERCENTILE_ESTIMATE(APPROX_PERCENTILE_ACCUMULATE(…))는 APPROX_PERCENTILE(…)과 동일합니다.

참고 항목:

APPROX_PERCENTILE , APPROX_PERCENTILE_ACCUMULATE , APPROX_PERCENTILE_COMBINE

구문

APPROX_PERCENTILE_ESTIMATE( <state> , <percentile> )
Copy

인자

state

APPROX_PERCENTILE_ACCUMULATE 또는 APPROX_PERCENTILE_COMBINE 호출에 의해 생성된 상태 정보를 포함하는 식입니다.

percentile

0.0 보다 크거나 같고 1.0 보다 작은 상수 실수 값입니다. 이는 0에서 99.999…까지의 백분위수를 나타냅니다(예: 값 0.65는 65번째 백분위수를 나타냄).

주어진 숫자 세트에서 여러 백분위수 값을 근사해야 하는 시나리오를 생각해 봅니다. 상태를 만든 다음, APPROX_PERCENTILE_ESTIMATE를 사용하여 모든 백분위수를 계산해 이를 수행할 수 있습니다.

  1. 먼저 상태를 저장합니다.

    CREATE OR REPLACE TABLE resultstate AS (SELECT APPROX_PERCENTILE_ACCUMULATE(c1) s FROM testtable);
    
    Copy
  2. 그런 다음 여러 백분위수에 대한 상태를 쿼리합니다.

    SELECT APPROX_PERCENTILE_ESTIMATE(s , 0.01),
           APPROX_PERCENTILE_ESTIMATE(s , 0.15),
           APPROX_PERCENTILE_ESTIMATE(s , 0.845)
    FROM testtable;
    
    Copy

보다 광범위한 예는 APPROX_PERCENTILE_ACCUMULATE 의 예 섹션을 참조하십시오.