Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

quantilesDeterministic

quantilesDeterministic

Introduit dans : v1.1.0

Calcule simultanément plusieurs quantiles approximatifs d’une séquence de données numériques à différents niveaux, à l’aide d’un échantillonnage en réservoir déterministe.

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

Syntaxe

quantilesDeterministic(level1, level2, ...)(expr, determinator)

Paramètres

  • level — Niveaux de quantiles. 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

  • expr — Expression sur les valeurs de la colonne produisant des types de données numériques, Date ou DateTime. (U)Int* ou Int128 ou UInt128 ou Int256 ou UInt256 ou Float* ou Date ou DateTime
  • determinator — Nombre dont le hachage est utilisé à la place d'un générateur de nombres aléatoires dans l'algorithme d'échantillonnage en réservoir afin de rendre le résultat de l'échantillonnage déterministe. UInt*

Valeur de retour

Tableau de quantiles approximatifs pour les niveaux spécifiés, dans le même ordre que celui où les niveaux ont été indiqués. Array(Float64) ou Array(Date) ou Array(DateTime)

Exemples

Calcul de plusieurs quantiles déterministes

SELECT quantilesDeterministic(0.25, 0.5, 0.75)(number, number) FROM numbers(10)
┌─quantilesDeterministic(0.25, 0.5, 0.75)(number, number)─┐
│ [2.25,4.5,6.75]                                         │
└─────────────────────────────────────────────────────────┘
Navigation