Passer au contenu principal

quantilesExactInclusive

Introduit dans : v20.1.0 Calcule exactement plusieurs quantiles d’une séquence de données numériques à différents niveaux, simultanément, à l’aide de la méthode inclusive. Cette fonction est équivalente à quantileExactInclusive, mais elle permet de calculer plusieurs niveaux de quantile en un seul passage, ce qui est plus efficace que d’appeler séparément des fonctions de quantile. Cette fonction utilise la méthode inclusive pour calculer les quantiles, comme décrit dans la méthode R-7. Elle est équivalente à la fonction Excel PERCENTILE.INC. Pour obtenir des valeurs exactes, toutes les valeurs passées sont regroupées dans un tableau, qui est ensuite partiellement trié. La complexité de l’algorithme de tri est de O(N·log(N)), avec N = std::distance(first, last) comparaisons. Syntaxe
quantilesExactInclusive(level1, level2, ...)(expr)
Paramètres
  • level — Niveaux de quantile. Nombres à virgule flottante constants de 0 à 1 (inclus). Nous recommandons d’utiliser des valeurs level comprises dans l’intervalle [0.01, 0.99]. Float*
Arguments
  • expr — Expression appliquée aux valeurs de la colonne, dont le résultat est de type numérique, Date ou DateTime. (U)Int* ou Float* ou Decimal* ou Date ou DateTime
Valeur renvoyée Tableau des quantiles des niveaux spécifiés, dans le même ordre que celui dans lequel les niveaux ont été indiqués. Array(Float64) Exemples Calcul de plusieurs quantiles inclusifs exacts
Query
CREATE TABLE num AS numbers(1000);
SELECT quantilesExactInclusive(0.25, 0.5, 0.75, 0.9, 0.95, 0.99, 0.999)(number) FROM num;
Response
┌─quantilesExactInclusive(0.25, 0.5, 0.75, 0.9, 0.95, 0.99, 0.999)(number)─┐
│ [249.75,499.5,749.25,899.1,949.05,989.01,998.001]                        │
└──────────────────────────────────────────────────────────────────────────┘
Dernière modification le 25 juin 2026