APPROX_PERCENTILE_ESTIMATE

APPROX_PERCENTILE_ESTIMATE

APPROX_PERCENTILE_ESTIMATE() 함수는 지정된 t-Digest 상태에 대해 원하는 근사 백분위수(approximated percentile) 값을 반환해요.

APPROX_PERCENTILE_ACCUMULATE와 APPROX_PERCENTILE_COMBINE로 생성된 t-Digest 상태를 사용해 이 함수로 백분위수 추정값을 계산할 수 있어요. 따라서 APPROX_PERCENTILE_ESTIMATE(APPROX_PERCENTILE_ACCUMULATE(…))는 APPROX_PERCENTILE(…)과 동일해요.

출처: Snowflake SQL Reference

본문

문법

APPROX_PERCENTILE_ESTIMATE( <state> , <percentile> )

인자

state — APPROX_PERCENTILE_ACCUMULATE 또는 APPROX_PERCENTILE_COMBINE 호출로 생성된 상태 정보를 담은 표현식이에요.

percentile — 0.0 이상 1.0 미만의 상수 실수 값이에요. 0부터 99.999…까지의 백분위수를 나타내요 (예: 0.65는 65번째 백분위수를 나타내요).

사용 노트

  • 소수 부동소수점(DECFLOAT) 값은 지원하지 않아요.

예제

주어진 숫자 집합에서 여러 백분위수 값을 근사해야 하는 시나리오를 생각해 봐요. 상태를 만든 뒤 APPROX_PERCENTILE_ESTIMATE로 모든 백분위수를 계산하면 돼요.

먼저 상태를 저장해요:

CREATE OR REPLACE TABLE resultstate AS (
  SELECT APPROX_PERCENTILE_ACCUMULATE(c1) AS s
 FROM testtable
  );

그다음 상태를 여러 백분위수로 조회해요:

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

더 자세한 예제는 APPROX_PERCENTILE_ACCUMULATE 문서의 Examples 섹션을 참고하세요.

더 알아보기 (Learn more)