quantileExact
Introduit dans : v1.1.0
Calcule exactement le quantile d’une séquence de données numériques.
Pour obtenir une valeur exacte, toutes les valeurs fournies sont regroupées dans un tableau, qui est ensuite partiellement trié.
Par conséquent, la fonction nécessite une mémoire de O(n), où n représente le nombre de valeurs fournies.
Cependant, pour un petit nombre de valeurs, cette fonction est très efficace.
Lorsque plusieurs fonctions quantile* avec des niveaux différents 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
quantileExact(level)(expr)Alias : medianExact
Paramètres
level— Facultatif. Niveau du quantile. Nombre constant à virgule flottante compris entre 0 et 1. Nous recommandons d’utiliser une valeurleveldans l’intervalle[0.01, 0.99]. Valeur par défaut : 0.5. Àlevel=0.5, la fonction calcule la médiane.Float*
Arguments
expr— Expression sur les valeurs de la colonne produisant des types de données numériques,Date,DateTimeouDateTime64.(U)Int*ouInt128ouUInt128ouInt256ouUInt256ouFloat*ouDecimal*ouDateouDateTimeouDateTime64
Valeur renvoyée
Quantile du niveau spécifié. Pour les types de données numériques, le format de sortie sera le même que le format d’entrée. (U)Int* ou Int128 ou UInt128 ou Int256 ou UInt256 ou Float* ou Decimal* ou Date ou DateTime ou DateTime64
Exemples
Calcul du quantile exact
SELECT quantileExact(number) FROM numbers(10);┌─quantileExact(number)─┐
│ 5 │
└───────────────────────┘Voir aussi