カテゴリ:

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

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> )
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 にある例のセクションをご参照ください。