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

> Calcula um quantil aproximado de uma sequência de dados numéricos.

# quantileDeterministic

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

Introduzido em: v1.1.0

Calcula um [quantil](https://en.wikipedia.org/wiki/Quantile) aproximado de uma sequência de dados numéricos.

Esta função aplica [amostragem por reservatório](https://en.wikipedia.org/wiki/Reservoir_sampling) com um reservatório de tamanho até 8192 e um algoritmo de amostragem determinístico.
O resultado é determinístico.
Para obter um quantil exato, use a função [`quantileExact`](/pt-BR/reference/functions/aggregate-functions/quantileExact#quantileExact).

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

**Sintaxe**

```sql theme={null}
quantileDeterministic(level)(expr, determinator)
```

**Aliases**: `medianDeterministic`

**Parâmetros**

* `level` — Opcional. Nível do quantil. Número de ponto flutuante constante 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 sobre os 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)
* `determinator` — Número cujo hash é usado no lugar de um gerador de números aleatórios no algoritmo de amostragem por reservatório para tornar o resultado da amostragem determinístico. Como determinador, você pode usar qualquer número positivo determinístico, por exemplo, um ID de usuário ou um ID de evento. Se o mesmo valor de determinador ocorrer com muita frequência, a função funcionará incorretamente. [`(U)Int*`](/pt-BR/reference/data-types/int-uint)

**Valor retornado**

Retorna um 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**

**Calculando quantil determinístico**

```sql title=Query theme={null}
CREATE TABLE t (val UInt32) ENGINE = Memory;
INSERT INTO t VALUES (1), (1), (2), (3);

SELECT quantileDeterministic(val, 1) FROM t;
```

```response title=Response theme={null}
┌─quantileDeterministic(val, 1)─┐
│                           1.5 │
└───────────────────────────────┘
```

**Veja também**

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