Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

quantileDeterministic

quantileDeterministic

Introduit dans : v1.1.0

Calcule un quantile approximatif d'une séquence de données numériques.

Cette fonction applique un échantillonnage par réservoir avec un réservoir de taille maximale de 8192 et un algorithme d'échantillonnage déterministe. Le résultat est déterministe. Pour obtenir un quantile exact, utilisez la fonction quantileExact.

Lorsque plusieurs fonctions quantile* avec différents niveaux sont utilisées dans une requête, les états internes ne sont pas combinés (autrement dit, la requête est moins efficace qu'elle pourrait l'être). Dans ce cas, utilisez la fonction quantiles.

Syntaxe

quantileDeterministic(level)(expr, determinator)

Alias : medianDeterministic

Paramètres

  • level — Facultatif. Niveau du quantile. Nombre à virgule flottante constant compris entre 0 et 1. Nous recommandons d'utiliser une valeur de level dans l'intervalle [0.01, 0.99]. Valeur par défaut : 0.5. Pour level=0.5, la fonction calcule la médiane. Float*

Arguments

  • expr — Expression appliquée aux 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 hash est utilisé à la place d'un générateur de nombres aléatoires dans l'algorithme d'échantillonnage par réservoir afin de rendre le résultat de l'échantillonnage déterministe. Comme déterminateur, vous pouvez utiliser n'importe quel nombre positif déterministe, par exemple un identifiant utilisateur ou un identifiant d'événement. Si la même valeur de déterminateur apparaît trop souvent, la fonction ne fonctionne pas correctement. UInt*

Valeur renvoyée

Renvoie un quantile approximatif du niveau spécifié. Float64 ou Date ou DateTime

Exemples

Calcul d'un quantile déterministe

CREATE TABLE t (val UInt32) ENGINE = Memory;
INSERT INTO t VALUES (1), (1), (2), (3);

SELECT quantileDeterministic(val, 1) FROM t;
┌─quantileDeterministic(val, 1)─┐
│                           1.5 │
└───────────────────────────────┘

Voir aussi

Navigation