> ## 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 simultanément plusieurs quantiles approximatifs à différents niveaux à l’aide de l’algorithme t-digest.

# quantilesTDigest

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

Introduit dans : v1.1.0

Calcule simultanément plusieurs [quantiles](https://en.wikipedia.org/wiki/Quantile) approximatifs d’une séquence de données numériques à différents niveaux à l’aide de l’algorithme [t-digest](https://github.com/tdunning/t-digest/blob/master/docs/t-digest-paper/histo.pdf).

Cette fonction est équivalente à [`quantileTDigest`](/docs/fr/reference/functions/aggregate-functions/quantileTDigest), mais permet de calculer plusieurs niveaux de quantile en une seule passe, ce qui est plus efficace que d’appeler des fonctions de quantile séparées.

La consommation mémoire est de `log(n)`, où `n` est le nombre de valeurs. Le résultat dépend de l’ordre d’exécution de la requête et n’est pas déterministe.

Les performances de cette fonction sont inférieures à celles de [`quantiles`](/docs/fr/reference/functions/aggregate-functions/quantiles) ou [`quantilesTiming`](/docs/fr/reference/functions/aggregate-functions/quantilesTiming). En termes de ratio entre la taille de State et la précision, cette fonction est bien meilleure que `quantiles`.

**Syntaxe**

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

**Paramètres**

* `level` — Niveaux de quantiles. Un ou plusieurs nombres constants à virgule flottante compris entre 0 et 1. Nous recommandons d'utiliser des valeurs de `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, renvoyant des types de données numériques, `Date` ou `DateTime`. [`(U)Int*`](/docs/fr/reference/data-types/int-uint) ou [`Float*`](/docs/fr/reference/data-types/float) ou [`Date`](/docs/fr/reference/data-types/date) ou [`DateTime`](/docs/fr/reference/data-types/datetime)

**Valeur renvoyée**

Array de quantiles approximatifs pour les niveaux spécifiés, dans le même ordre que celui des niveaux indiqués. Pour les entrées `Date` et `DateTime`, le format de sortie correspond au format d'entrée. [`Array(Float32)`](/docs/fr/reference/data-types/array) ou [`Array(Date)`](/docs/fr/reference/data-types/array) ou [`Array(DateTime)`](/docs/fr/reference/data-types/array)

**Exemples**

**Calcul de plusieurs quantiles avec t-digest**

```sql title=Query theme={null}
SELECT quantilesTDigest(0.25, 0.5, 0.75)(number) FROM numbers(100);
```

```response title=Response theme={null}
┌─quantilesTDigest(0.25, 0.5, 0.75)(number)─┐
│ [24.75,49.5,74.25]                        │
└───────────────────────────────────────────┘
```
