カテゴリ:

集計関数 (パーセンタイル推定)、 ウィンドウ関数

APPROX_PERCENTILE_ESTIMATE

指定されたt-Digest状態に必要な近似パーセンタイル値を返します。

APPROX_PERCENTILE_ACCUMULATE および APPROX_PERCENTILE_COMBINE によって生成されたt-Digest状態を、この関数を使用してパーセンタイル推定値を計算するために使用できます。

そのため、 APPROX_PERCENTILE_ESTIMATE(APPROX_PERCENTILE_ACCUMULATE(...))は APPROX_PERCENTILE(...)と同等です。

こちらもご覧ください:

APPROX_PERCENTILEAPPROX_PERCENTILE_ACCUMULATEAPPROX_PERCENTILE_COMBINE

構文

APPROX_PERCENTILE_ESTIMATE( <state> , <percentile> )

引数

状態

APPROX_PERCENTILE_ACCUMULATE または APPROX_PERCENTILE_COMBINE の呼び出しによって生成された状態情報を含む式です。

パーセンタイル

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 TABLE testtable);
    
  2. 次に、複数のパーセンタイルの状態をクエリします。

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

より広範な例については、 APPROX_PERCENTILE_ACCUMULATE の例のセクションをご参照ください。