Passer au contenu principal

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 Float* ou Decimal* 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. (U)Int*
Valeur renvoyée Renvoie un quantile approximatif du niveau spécifié. Float64 ou Date ou DateTime Exemples Calcul d’un quantile déterministe
Query
CREATE TABLE t (val UInt32) ENGINE = Memory;
INSERT INTO t VALUES (1), (1), (2), (3);

SELECT quantileDeterministic(val, 1) FROM t;
Response
┌─quantileDeterministic(val, 1)─┐
│                           1.5 │
└───────────────────────────────┘
Voir aussi
Dernière modification le 25 juin 2026