> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-fix-nav-issues.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> 数値データの数列の分位数を正確に計算します。

# quantileExactExclusive

<div id="quantileExactExclusive">
  ## quantileExactExclusive
</div>

導入バージョン: v20.1.0

[`quantileExact`](/ja/reference/functions/aggregate-functions/quantileExact) と同様に、この関数は数値データの数列の正確な [分位数](https://en.wikipedia.org/wiki/Quantile) を計算します。

この関数は [`quantileExact`](/ja/reference/functions/aggregate-functions/quantileExact) と同等ですが、分位数の計算には [R-6 method](https://en.wikipedia.org/wiki/Quantile#Estimating_quantiles_from_a_sample) で説明されている exclusive 法を使用します。

この関数を使用すると、指定した分位数 p に対する補間式は `x[floor(n*p)] + (n*p - floor(n*p)) * (x[floor(n*p)+1] - x[floor(n*p)])` の形になります。ここで、x はソート済みの配列です。

正確な値を得るため、渡されたすべての値は 1 つの配列にまとめられ、その後完全にソートされます。
ソートアルゴリズムの計算量は `O(N·log(N))` で、ここで `N = std::distance(first, last)` は比較回数です。

1 つのクエリで異なる levels を持つ複数の `quantile*` 関数を使用する場合、内部状態は結合されません (つまり、クエリの実行効率は本来より低くなります) 。
この場合は、[quantiles](/ja/reference/functions/aggregate-functions/quantiles) 関数を使用してください。

**構文**

```sql theme={null}
quantileExactExclusive(level)(expr)
```

**パラメーター**

* `level` — 分位数のレベル。0 から 1 までの定数の浮動小数点数 (両端を含まない) です。`level` の値には `(0.01, 0.99)` の範囲を使用することを推奨します。[`Float*`](/ja/reference/data-types/float)

**引数**

* `expr` — カラムの値に対する式。結果は数値データ型、Date、または DateTime である必要があります。[`(U)Int*`](/ja/reference/data-types/int-uint) または [`Float*`](/ja/reference/data-types/float) または [`Decimal*`](/ja/reference/data-types/decimal) または [`Date`](/ja/reference/data-types/date) または [`DateTime`](/ja/reference/data-types/datetime)

**戻り値**

指定したレベルの分位数を返します。[`Float64`](/ja/reference/data-types/float)

**例**

**厳密な exclusive 分位数の計算**

```sql title=Query theme={null}
SELECT quantileExactExclusive(0.25)(number) FROM numbers(5);
```

```response title=Response theme={null}
┌─quantileExactExclusive(0.25)(number)─┐
│                                  0.5 │
└──────────────────────────────────────┘
```

**複数の分位数レベルを計算する**

```sql title=Query theme={null}
SELECT quantileExactExclusive(0.1)(number), quantileExactExclusive(0.9)(number) FROM numbers(10);
```

```response title=Response theme={null}
┌─quantileExactExclusive(0.1)(number)─┬─quantileExactExclusive(0.9)(number)─┐
│                                 0.4 │                                 8.6 │
└─────────────────────────────────────┴─────────────────────────────────────┘
```
