Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

quantilesExactWeighted

quantilesExactWeighted

Introduit dans : v1.1.0

Calcule exactement plusieurs quantiles d’une séquence de données numériques à différents niveaux en une seule fois, en tenant compte du poids de chaque élément.

Cette fonction est équivalente à quantileExactWeighted, mais elle permet de calculer plusieurs niveaux de quantiles en une seule passe, ce qui est plus efficace que d’appeler des fonctions de quantile séparées.

Syntaxe

quantilesExactWeighted(level1, level2, ...)(expr, weight)

Paramètres

  • level — Niveaux de quantile. Un ou plusieurs nombres constants à virgule flottante compris entre 0 et 1. Nous recommandons d'utiliser des valeurs level dans la plage [0.01, 0.99]. Float*

Arguments

Valeur renvoyée

Tableau de quantiles pour les niveaux spécifiés, dans le même ordre que celui où les niveaux ont été indiqués. Pour les types de données numériques, le format de sortie correspond au format d'entrée. Array((U)Int*) ou Array(Int128) ou Array(UInt128) ou Array(Int256) ou Array(UInt256) ou Array(Float*) ou Array(Decimal*) ou Array(Date) ou Array(DateTime) ou Array(DateTime64)

Exemples

Calcul de plusieurs quantiles pondérés exacts

SELECT quantilesExactWeighted(0.25, 0.5, 0.75)(number, 1) FROM numbers(10)
┌─quantilesExactWeighted(0.25, 0.5, 0.75)(number, 1)─┐
│ [2,4,7]                                            │
└────────────────────────────────────────────────────┘
Navigation