> ## 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.

> Calcula um quantil aproximado de uma sequência de valores numéricos usando o algoritmo t-digest.

# quantileTDigestWeighted

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

Introduzido em: v20.1.0

Calcula um [quantil](https://en.wikipedia.org/wiki/Quantile) aproximado de uma sequência de dados numéricos usando o algoritmo [t-digest](https://github.com/tdunning/t-digest/blob/master/docs/t-digest-paper/histo.pdf).
A função leva em consideração o peso de cada elemento da sequência.

O erro máximo é de 1%.
O consumo de memória é `log(n)`, em que `n` é o número de valores.

O desempenho da função é inferior ao de [`quantile`](/pt-BR/reference/functions/aggregate-functions/quantile) ou [`quantileTiming`](/pt-BR/reference/functions/aggregate-functions/quantileTiming).
Em termos da relação entre o tamanho do State e a precisão, esta função é muito melhor que `quantile`.

O resultado depende da ordem de execução da consulta e é não determinístico.

Ao usar várias funções `quantile*` com diferentes níveis em uma consulta, os estados internos não são combinados (ou seja, a consulta funciona com menos eficiência do que poderia).
Nesse caso, use a função [`quantiles`](/pt-BR/reference/functions/aggregate-functions/quantiles#quantiles).

<Note>
  Não é recomendado usar `quantileTDigestWeighted` [em conjuntos de dados muito pequenos](https://github.com/tdunning/t-digest/issues/167#issuecomment-828650275), pois isso pode resultar em erro significativo.
  Nesse caso, considere usar [`quantileTDigest`](/pt-BR/reference/functions/aggregate-functions/quantileTDigest).
</Note>

**Sintaxe**

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

**Aliases**: `medianTDigestWeighted`

**Parâmetros**

* `level` — Opcional. Nível do quantil. Número constante de ponto flutuante de 0 a 1. Recomendamos usar um valor de `level` no intervalo `[0.01, 0.99]`. Valor padrão: 0.5. Em `level=0.5`, a função calcula a mediana. [`Float*`](/pt-BR/reference/data-types/float)

**Argumentos**

* `expr` — Expressão aplicada aos valores da coluna que resulta em tipos de dados numéricos, Date ou DateTime. [`(U)Int*`](/pt-BR/reference/data-types/int-uint) ou [`Float*`](/pt-BR/reference/data-types/float) ou [`Decimal*`](/pt-BR/reference/data-types/decimal) ou [`Date`](/pt-BR/reference/data-types/date) ou [`DateTime`](/pt-BR/reference/data-types/datetime)
* `weight` — Coluna com os pesos dos elementos da sequência. O peso é o número de ocorrências do valor. [`UInt*`](/pt-BR/reference/data-types/int-uint)

**Valor retornado**

Quantil aproximado do nível especificado. [`Float64`](/pt-BR/reference/data-types/float) ou [`Date`](/pt-BR/reference/data-types/date) ou [`DateTime`](/pt-BR/reference/data-types/datetime)

**Exemplos**

**Cálculo de quantil ponderado com t-digest**

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

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

**Veja também**

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