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

> Calcule, avec la précision déterminée, le quantile d'une séquence de données numériques selon le poids de chaque élément de la séquence.

# quantilesTimingWeighted

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

Introduit dans : v1.1.0

Calcule simultanément plusieurs [quantiles](https://en.wikipedia.org/wiki/Quantile) d’une séquence de données numériques à différents niveaux, avec une précision déterminée, en tenant compte du poids de chaque élément de la séquence.

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

Le résultat est déterministe (il ne dépend pas de l’ordre de traitement des requêtes). La fonction est optimisée pour traiter des séquences décrivant des distributions telles que les temps de chargement des pages web ou les temps de réponse du backend.

**Précision**

Le calcul est précis si :

* Le nombre total de valeurs ne dépasse pas 5670.
* Le nombre total de valeurs dépasse 5670, mais le temps de chargement de la page est inférieur à 1024 ms.

Sinon, le résultat du calcul est arrondi au multiple de 16 ms le plus proche.

<Note>
  Pour calculer les quantiles du temps de chargement des pages, cette fonction est plus efficace et plus précise que [`quantiles`](/fr/reference/functions/aggregate-functions/quantiles).
</Note>

**Syntaxe**

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

**Paramètres**

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

**Arguments**

* `expr` — Expression appliquée aux valeurs d’une colonne et renvoyant un nombre de type Float\*. Si des valeurs négatives sont passées à la fonction, le comportement est indéfini. Si la valeur est supérieure à 30 000 (un temps de chargement de page de plus de 30 secondes), elle est considérée comme égale à 30 000. [`Float*`](/fr/reference/data-types/float)
* `weight` — Colonne contenant les poids des éléments de la séquence. Le poids correspond au nombre d’occurrences de la valeur. [`UInt*`](/fr/reference/data-types/int-uint)

**Valeur renvoyée**

Tableau de quantiles des niveaux spécifiés, dans le même ordre que celui dans lequel les niveaux ont été spécifiés. [`Array(Float32)`](/fr/reference/data-types/array)

**Exemples**

**Calcul de plusieurs quantiles temporels pondérés**

```sql title=Query theme={null}
SELECT quantilesTimingWeighted(0.5, 0.99)(response_time, weight) FROM t;
```

```response title=Response theme={null}
┌─quantilesTimingWeighted(0.5, 0.99)(response_time, weight)─┐
│ [112, 162]                                                │
└───────────────────────────────────────────────────────────┘
```

**Voir aussi**

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