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

> Вычисляет приблизительный квантиль числовой последовательности данных с использованием алгоритма t-digest.

# quantileTDigestWeighted

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

Добавленный в: v20.1.0

Вычисляет приблизительный [квантиль](https://en.wikipedia.org/wiki/Quantile) числовой последовательности с помощью алгоритма [t-digest](https://github.com/tdunning/t-digest/blob/master/docs/t-digest-paper/histo.pdf).
Функция учитывает вес каждого элемента последовательности.

Максимальная ошибка составляет 1%.
Потребление памяти составляет `log(n)`, где `n` — количество значений.

Производительность этой функции ниже, чем у [`quantile`](/ru/reference/functions/aggregate-functions/quantile) или [`quantileTiming`](/ru/reference/functions/aggregate-functions/quantileTiming).
С точки зрения соотношения размера состояния и точности эта функция значительно лучше, чем `quantile`.

Результат зависит от порядка выполнения запроса и является недетерминированным.

При использовании нескольких функций `quantile*` с разными уровнями в одном запросе их внутренние состояния не объединяются (то есть запрос работает менее эффективно, чем мог бы).
В этом случае используйте функцию [`quantiles`](/ru/reference/functions/aggregate-functions/quantiles#quantiles).

<Note>
  Использовать `quantileTDigestWeighted` [не рекомендуется для очень маленьких наборов данных](https://github.com/tdunning/t-digest/issues/167#issuecomment-828650275), так как это может приводить к значительной ошибке.
  В этом случае рассмотрите возможность использования [`quantileTDigest`](/ru/reference/functions/aggregate-functions/quantileTDigest).
</Note>

**Синтаксис**

```sql theme={null}
quantileTDigestWeighted(level)(expr, weight)
```

**Псевдонимы**: `medianTDigestWeighted`

**Параметры**

* `level` — Необязательный параметр. Уровень квантиля. Константное число с плавающей точкой в диапазоне от 0 до 1. Рекомендуется использовать значение `level` в диапазоне `[0.01, 0.99]`. Значение по умолчанию: 0.5. При `level=0.5` функция вычисляет медиану. [`Float*`](/ru/reference/data-types/float)

**Аргументы**

* `expr` — Выражение над значениями столбца, результатом которого являются числовые типы данных, Date или DateTime. [`(U)Int*`](/ru/reference/data-types/int-uint) или [`Float*`](/ru/reference/data-types/float) или [`Decimal*`](/ru/reference/data-types/decimal) или [`Date`](/ru/reference/data-types/date) или [`DateTime`](/ru/reference/data-types/datetime)
* `weight` — Столбец с весами элементов последовательности. Вес — это количество вхождений значения. [`UInt*`](/ru/reference/data-types/int-uint)

**Возвращаемое значение**

Приблизительный квантиль указанного уровня. [`Float64`](/ru/reference/data-types/float) или [`Date`](/ru/reference/data-types/date) или [`DateTime`](/ru/reference/data-types/datetime)

**Примеры**

**Вычисление взвешенного квантиля с помощью t-digest**

```sql title=Query theme={null}
SELECT quantileTDigestWeighted(number, 1) FROM numbers(10);
```

```response title=Response theme={null}
┌─quantileTDigestWeighted(number, 1)─┐
│                                4.5 │
└────────────────────────────────────┘
```

**См. также**

* [median](/ru/reference/functions/aggregate-functions/median)
* [quantiles](/ru/reference/functions/aggregate-functions/quantiles)
