QUANTILEは指定されたデータをパーティション化するために等幅ヒストグラムを使用するため、QUANTILEが等高ヒストグラムを使用してデータを等しくパーティション化することはありません。言い換えれば、指定された分位ごとに行カウントが等しくなるとは期待できないということです。例えば、データの中に重複するsort_expressionの値がある場合、空の分位ヒストグラムの生じることが期待されます。
例えば、次の単純なSELECT文を考えてみましょう。
SELECT itemNo, quantity, QUANTILE(10,quantity) FROM inventory;
報告は、例えば以下のようなものになります。
itemNo | quantity | Quantile(10, quantity) |
---|---|---|
13 | 1 | 0 |
9 | 1 | 0 |
7 | 1 | 0 |
2 | 1 | 0 |
5 | 1 | 0 |
3 | 1 | 0 |
1 | 1 | 0 |
6 | 1 | 0 |
4 | 1 | 0 |
10 | 1 | 0 |
8 | 1 | 0 |
11 | 1 | 0 |
12 | 9 | 9 |
分位のソートはquantityに基づいて行なわれ、inventoryテーブルには2つしかquantityのスコアがないため、10分位の1から8までの報告にはスコアがありません。