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

> Calcule exactement plusieurs quantiles d’une séquence de données numériques, pour différents niveaux, simultanément.

# quantilesExact

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

Introduit dans : v1.1.0

Calcule exactement plusieurs [quantiles](https://en.wikipedia.org/wiki/Quantile) d’une séquence de données numériques à différents niveaux, simultanément.

Cette fonction est équivalente à [`quantileExact`](/docs/fr/reference/functions/aggregate-functions/quantileExact), mais elle permet de calculer plusieurs niveaux de quantile en un seul passage, ce qui est plus efficace que d’appeler séparément des fonctions de quantile.

Pour obtenir des valeurs exactes, toutes les valeurs transmises sont regroupées dans un tableau, qui est ensuite partiellement trié. Par conséquent, la fonction utilise une mémoire de `O(n)`, où `n` est le nombre de valeurs transmises.

**Syntaxe**

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

**Paramètres**

* `level` — Niveaux de quantiles. Un ou plusieurs nombres à virgule flottante constants de 0 à 1. Nous recommandons d'utiliser des valeurs `level` dans la plage `[0.01, 0.99]`. [`Float*`](/docs/fr/reference/data-types/float)

**Arguments**

* `expr` — Expression appliquée aux valeurs de la colonne, produisant des types de données numériques, `Date`, `DateTime` ou `DateTime64`. [`(U)Int*`](/docs/fr/reference/data-types/int-uint) ou [`Int128`](/docs/fr/reference/data-types/int-uint) ou [`UInt128`](/docs/fr/reference/data-types/int-uint) ou [`Int256`](/docs/fr/reference/data-types/int-uint) ou [`UInt256`](/docs/fr/reference/data-types/int-uint) ou [`Float*`](/docs/fr/reference/data-types/float) ou [`Decimal*`](/docs/fr/reference/data-types/decimal) ou [`Date`](/docs/fr/reference/data-types/date) ou [`DateTime`](/docs/fr/reference/data-types/datetime) ou [`DateTime64`](/docs/fr/reference/data-types/datetime64)

**Valeur renvoyée**

Tableau de quantiles pour les niveaux spécifiés, dans le même ordre que celui des niveaux indiqués. Pour les types de données numériques, le format de sortie correspond au format d'entrée. [`Array((U)Int*)`](/docs/fr/reference/data-types/array) ou [`Array(Int128)`](/docs/fr/reference/data-types/array) ou [`Array(UInt128)`](/docs/fr/reference/data-types/array) ou [`Array(Int256)`](/docs/fr/reference/data-types/array) ou [`Array(UInt256)`](/docs/fr/reference/data-types/array) ou [`Array(Float*)`](/docs/fr/reference/data-types/array) ou [`Array(Decimal*)`](/docs/fr/reference/data-types/array) ou [`Array(Date)`](/docs/fr/reference/data-types/array) ou [`Array(DateTime)`](/docs/fr/reference/data-types/array) ou [`Array(DateTime64)`](/docs/fr/reference/data-types/array)

**Exemples**

**Calcul de plusieurs quantiles exacts**

```sql title=Query theme={null}
SELECT quantilesExact(0.25, 0.5, 0.75)(number) FROM numbers(10)
```

```response title=Response theme={null}
┌─quantilesExact(0.25, 0.5, 0.75)(number)─┐
│ [2,5,7]                                 │
└─────────────────────────────────────────┘
```
