quantileTDigest
Introduit dans : v1.1.0
Calcule un quantile approximatif d’une séquence de données numériques à l’aide de l’algorithme t-digest.
La consommation de mémoire est de log(n), où n représente un nombre de valeurs. Le résultat dépend de l’ordre d’exécution de la requête et n’est pas déterministe.
Les performances de cette fonction sont inférieures à celles de quantile ou de quantileTiming. En termes de rapport entre la taille de l’état et la précision, cette fonction est bien meilleure que quantile.
Lorsqu’on utilise plusieurs fonctions quantile* avec différents niveaux dans une requête, les états internes ne sont pas combinés (autrement dit, la requête s’exécute moins efficacement qu’elle ne le pourrait). Dans ce cas, utilisez la fonction quantiles.
Syntaxe
quantileTDigest(level)(expr)Alias : medianTDigest
Paramètres
level— Facultatif. Niveau du quantile. Nombre constant à virgule flottante compris entre 0 et 1. Nous recommandons d'utiliser une valeur delevelcomprise dans l'intervalle[0.01, 0.99]. Valeur par défaut : 0.5. Aveclevel=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,DateouDateTime.(U)Int*ouFloat*ouDateouDateTime
Valeur de retour
Quantile approximatif du niveau indiqué. Pour les entrées Date et DateTime, le format de sortie correspond au format d’entrée. Float32 ou Date ou DateTime
Exemples
Calcul d'un quantile avec t-digest
SELECT quantileTDigest(number) FROM numbers(10);┌─quantileTDigest(number)─┐
│ 4 │
└─────────────────────────┘Voir aussi