quantilesExactHigh
Introduit dans : v20.8.0
Calcule exactement plusieurs quantiles d’une séquence de données numériques à différents niveaux simultanément. Pour un nombre pair d’éléments au niveau 0.5, elle renvoie la plus élevée des deux valeurs centrales.
Cette fonction est équivalente à quantileExactHigh, mais permet de calculer plusieurs niveaux de quantile en un seul passage, ce qui est plus efficace que d’appeler des fonctions de quantile individuelles.
Syntaxe
quantilesExactHigh(level1, level2, ...)(expr)Paramètres
level— Niveaux de quantile. Un ou plusieurs nombres constants à virgule flottante compris entre 0 et 1. Nous recommandons d'utiliser des valeurs deleveldans la plage[0.01, 0.99].Float*
Arguments
expr— Expression sur les valeurs de la colonne, renvoyant des types de données numériques,Date,DateTimeouDateTime64.(U)Int*ouFloat*ouDecimal*ouDateouDateTimeouDateTime64
Valeur renvoyée
Tableau de quantiles des niveaux spécifiés, dans le même ordre que les niveaux indiqués. Pour les types de données numériques, le format de sortie correspond au format d'entrée. Array((U)Int*) ou Array(Float*) ou Array(Decimal*) ou Array(Date) ou Array(DateTime) ou Array(DateTime64)
Exemples
Calcul de plusieurs quantiles exacts de niveau élevé
SELECT quantilesExactHigh(0.25, 0.5, 0.75)(number) FROM numbers(10)┌─quantilesExactHigh(0.25, 0.5, 0.75)(number)─┐
│ [2,5,7] │
└─────────────────────────────────────────────┘