> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> quantiles, quantilesExactExclusive, quantilesExactInclusive, quantilesGK

# quantiles 함수

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

도입 버전: v1.1.0

숫자 데이터 시퀀스에 대해 서로 다른 수준의 근사 [분위수](https://en.wikipedia.org/wiki/Quantile)를 여러 개 동시에 계산합니다.

이 함수는 저장소 크기가 최대 8192인 [reservoir sampling](https://en.wikipedia.org/wiki/Reservoir_sampling)과 샘플링을 위한 난수 생성기를 사용합니다.
결과는 비결정적입니다.

여러 개의 분위수 값이 필요할 때 `quantiles`를 사용하면 개별 `quantile` 함수를 여러 번 호출하는 것보다 효율적입니다. 모든 분위수를 데이터를 한 번만 순회하며 계산하기 때문입니다.

**구문**

```sql theme={null}
quantiles(level1, level2, ...)(expr)
```

**매개변수**

* `level` — 분위수 수준입니다. 0에서 1 사이의 상수 부동소수점 숫자 1개 이상입니다. `level` 값은 `[0.01, 0.99]` 범위에서 사용하는 것을 권장합니다. [`Float*`](/docs/ko/reference/data-types/float)

**인수**

* `expr` — 컬럼 값에 대한 표현식입니다. 결과 타입은 숫자 데이터 타입, `Date`, `DateTime` 또는 `DateTime64`여야 합니다. [`(U)Int*`](/docs/ko/reference/data-types/int-uint) 또는 [`Int128`](/docs/ko/reference/data-types/int-uint) 또는 [`UInt128`](/docs/ko/reference/data-types/int-uint) 또는 [`Int256`](/docs/ko/reference/data-types/int-uint) 또는 [`UInt256`](/docs/ko/reference/data-types/int-uint) 또는 [`Float*`](/docs/ko/reference/data-types/float) 또는 [`Decimal*`](/docs/ko/reference/data-types/decimal) 또는 [`Date`](/docs/ko/reference/data-types/date) 또는 [`DateTime`](/docs/ko/reference/data-types/datetime) 또는 [`DateTime64`](/docs/ko/reference/data-types/datetime64)

**반환 값**

지정된 수준의 근사 분위수를, 수준을 지정한 순서와 동일한 순서로 담은 배열입니다. 숫자 인수는 `Float64`를 반환하며, `Decimal`, `Date`, `DateTime`, `DateTime64` 인수는 입력 형식을 유지합니다. [`Array(Float64)`](/docs/ko/reference/data-types/array) 또는 [`Array(Decimal*)`](/docs/ko/reference/data-types/array) 또는 [`Array(Date)`](/docs/ko/reference/data-types/array) 또는 [`Array(DateTime)`](/docs/ko/reference/data-types/array) 또는 [`Array(DateTime64)`](/docs/ko/reference/data-types/array)

**예시**

**여러 분위수를 효율적으로 계산하기**

```sql title=Query theme={null}
CREATE TABLE t (val UInt32) ENGINE = Memory;
INSERT INTO t VALUES (1), (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);

SELECT quantiles(0.25, 0.5, 0.75, 0.9)(val) FROM t;
```

```response title=Response theme={null}
┌─quantiles(0.25, 0.5, 0.75, 0.9)(val)─┐
│ [3, 5.5, 8, 9.5]                     │
└──────────────────────────────────────┘
```
