- 카테고리:
집계 함수 (Percentile Estimation) , 윈도우 함수 구문 및 사용법
APPROX_PERCENTILE_COMBINE¶
백분위수 입력 상태를 단일 출력 상태로 결합(병합)합니다.
이를 통해, APPROX_PERCENTILE_ACCUMULATE 가 동일 테이블의 수평 파티션에 대해 실행되어 각 테이블 파티션에 대한 알고리즘 상태를 생성하는 시나리오가 가능해집니다. 이러한 상태는 나중에 APPROX_PERCENTILE_COMBINE 을 사용하여 결합되어, 전체 테이블에 대해 APPROX_PERCENTILE_ACCUMULATE 의 단일 실행과 동일한 출력 상태를 생성할 수 있습니다.
구문¶
APPROX_PERCENTILE_COMBINE( <state> )
인자¶
stateAPPROX_PERCENTILE_ACCUMULATE 호출에 의해 생성된 상태 정보를 포함하는 식입니다.
Usage notes¶
10진수 부동 소수점(DECFLOAT) 값은 지원되지 않습니다.
예¶
testtable.c2 열에 있는 숫자의 중앙값에 대한 근삿값을 반환합니다(0.5는 50번째 백분위수를 의미함).
CREATE OR REPLACE TABLE mytesttable AS SELECT APPROX_PERCENTILE_COMBINE(td) s FROM ( (SELECT APPROX_PERCENTILE_ACCUMULATE(c2) td FROM testtable WHERE c2 <= 0) UNION ALL (SELECT APPROX_PERCENTILE_ACCUMULATE(c2) td FROM testtable WHERE c2 > 0 AND c2 <= 0.5) UNION ALL (SELECT APPROX_PERCENTILE_ACCUMULATE(C2) td FROM testtable WHERE c2 > 0.5) ); SELECT APPROX_PERCENTILE_ESTIMATE(s , 0.5) FROM mytesttable;
mytest.s1 union mytest2.s2 에 있는 숫자의 두 번째 백분위수에 대한 대략적인 값을 반환합니다.
CREATE OR REPLACE TABLE mytest AS (SELECT APPROX_PERCENTILE_ACCUMULATE(c2) s1 FROM testtable WHERE c2 < 0); CREATE OR REPLACE TABLE mytest2 AS (SELECT APPROX_PERCENTILE_ACCUMULATE(c2) s1 FROM testtable WHERE c2 >= 0); CREATE OR REPLACE TABLE combinedtable AS SELECT APPROX_PERCENTILE_COMBINE(s) combinedstate FROM ( (SELECT s1 s FROM mytest) UNION ALL (SELECT s1 s FROM mytest2) ); SELECT APPROX_PERCENTILE_ESTIMATE(combinedstate , 0.02) FROM combinedtable;
보다 광범위한 예는 APPROX_PERCENTILE_ACCUMULATE 의 예 섹션을 참조하십시오.