Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Fonctions d'agrégation

ClickHouse prend en charge toutes les fonctions d'agrégation SQL standard (sum, avg, min, max, count), ainsi qu'un grand nombre d'autres fonctions d'agrégation.

Page Description
groupFormat Formate les lignes de chaque groupe à l’aide d’un format de sortie et renvoie les données formatées sous forme de chaîne.
aggThrow Cette fonction peut être utilisée pour tester la sécurité des exceptions. Elle lèvera une exception lors de sa création avec la probabilité spécifiée.
analysisOfVariance Fournit un test statistique d’analyse de variance à un facteur (test ANOVA). Il s’agit d’un test appliqué à plusieurs groupes d’observations suivant une distribution normale afin de déterminer si tous les groupes ont la même moyenne.
any Sélectionne la première valeur rencontrée d’une colonne.
anyHeavy Sélectionne une valeur fréquente à l’aide de l’algorithme heavy hitters. S’il existe une valeur qui apparaît dans plus de la moitié des cas dans chacun des threads d’exécution de la requête, cette valeur est renvoyée. En général, le résultat n’est pas déterministe.
anyLast Sélectionne la dernière valeur rencontrée d’une colonne.
approx_top_k Renvoie un Array des valeurs approximativement les plus fréquentes et de leur nombre d’occurrences dans la colonne spécifiée.
approx_top_sum Renvoie un Array des valeurs approximativement les plus fréquentes et de leur nombre d’occurrences dans la colonne spécifiée.
argAndMax Calcule les valeurs arg et val pour une valeur val maximale. S’il existe plusieurs lignes avec une valeur val égale au maximum, la paire arg et val associée qui est renvoyée n’est pas déterministe.
argAndMin Calcule les valeurs arg et val pour une valeur val minimale. S’il existe plusieurs lignes avec une valeur val égale au minimum, la paire arg et val associée qui est renvoyée n’est pas déterministe.
argMax Calcule la valeur arg pour une valeur val maximale.
argMin Calcule la valeur arg pour une valeur val minimale. S’il existe plusieurs lignes avec une valeur val égale au maximum, la valeur arg associée qui est renvoyée n’est pas déterministe.
avg Calcule la moyenne arithmétique.
avgWeighted Calcule la moyenne arithmétique pondérée.
boundingRatio Fonction d’agrégation qui calcule la pente entre les points les plus à gauche et les plus à droite sur un groupe de valeurs.
categoricalInformationValue Calcule la valeur de (P(tag = 1) - P(tag = 0))(log(P(tag = 1)) - log(P(tag = 0))) pour chaque catégorie.
contingency La fonction contingency calcule le coefficient de contingence, une valeur qui mesure l’association entre deux colonnes d’une table. Le calcul est similaire à celui de la fonction cramersV, mais avec un dénominateur différent sous la racine carrée.
corr Calcule le coefficient de corrélation de Pearson.
corrMatrix Calcule la matrice de corrélation sur N variables.
corrStable Calcule le coefficient de corrélation de Pearson, mais utilise un algorithme numériquement stable.
count Compte le nombre de lignes ou de valeurs non NULL.
covarPop Calcule la covariance de population.
covarPopMatrix Renvoie la matrice de covariance de population sur N variables.
covarPopStable Calcule la valeur de la covariance de population.
covarSamp Calcule la valeur de Σ((x - x̅)(y - y̅)) / (n - 1).
covarSampMatrix Renvoie la matrice de covariance d’échantillon sur N variables.
covarSampStable Semblable à covarSamp, mais fonctionne plus lentement tout en offrant une erreur de calcul plus faible.
cramersV Le résultat de la fonction cramersV varie de 0 (ce qui correspond à l’absence d’association entre les variables) à 1, et ne peut atteindre 1 que lorsque chaque valeur est entièrement déterminée par l’autre. Il peut être interprété comme l’association entre deux variables sous forme de pourcentage de leur variation maximale possible.
cramersVBiasCorrected Calcule le V de Cramer, mais utilise une correction du biais.
deltaSum Additionne la différence arithmétique entre des lignes consécutives.
deltaSumTimestamp Additionne la différence entre des lignes consécutives. Si la différence est négative, elle est ignorée.
distinctDynamicTypes Calcule la liste des types de données distincts stockés dans une colonne Dynamic.
distinctJSONPaths Calcule une liste de chemins distincts stockés dans une colonne JSON.
distinctJSONPathsAndTypes Calcule la liste des chemins distincts et de leurs types stockés dans JSON.
entropy Calcule l’entropie de Shannon d’une colonne de valeurs.
estimateCompressionRatio Estime le taux de compression d’une colonne donnée sans la compresser.
exponentialMovingAverage Calcule la moyenne mobile exponentielle des valeurs pour l’instant donné.
exponentialTimeDecayedAvg Renvoie la moyenne mobile pondérée à lissage exponentiel des valeurs d’une série temporelle au point t dans le temps.
exponentialTimeDecayedCount Renvoie la décroissance exponentielle cumulative sur une série temporelle à l’indice t dans le temps.
exponentialTimeDecayedMax Renvoie le maximum entre la moyenne mobile à lissage exponentiel calculé à l’indice t dans le temps et celle à t-1.
exponentialTimeDecayedSum Renvoie la somme des valeurs de moyenne mobile à lissage exponentiel d’une série temporelle à l’indice t dans le temps.
first_value Il s’agit d’un alias de any, introduit pour assurer la compatibilité avec les fonctions de fenêtre, lorsqu’il est parfois nécessaire de traiter les valeurs NULL (par défaut, toutes les fonctions d’agrégation de ClickHouse ignorent les valeurs NULL).
flameGraph Fonction d’agrégation qui construit un flamegraph à partir d’une liste de stacktraces.
groupArray Crée un tableau de valeurs d’argument. Les valeurs peuvent être ajoutées au tableau dans n’importe quel ordre (indéterminé).
groupArrayArray Agrège des tableaux dans un tableau plus grand contenant ces tableaux.
groupArrayInsertAt Insère une valeur dans le tableau à la position spécifiée.
groupArrayIntersect Renvoie l’intersection des tableaux donnés (c’est-à-dire tous les éléments présents dans tous les tableaux donnés).
groupArrayLast Crée un tableau des dernières valeurs d’argument.
groupArrayMovingAvg Calcule la moyenne mobile des valeur d’entrée.
groupArrayMovingSum Calcule la somme mobile des valeur d’entrée.
groupArraySample Crée un tableau de valeurs d’argument échantillonnées. La taille du tableau résultant est limitée à max_size éléments. Les valeurs d’argument sont sélectionnées et ajoutées au tableau de manière aléatoire.
groupArraySorted Renvoie un tableau contenant les N premiers éléments par ordre croissant.
groupBitAnd Applique l’opération bit à bit AND à une série de nombres.
groupBitmap Effectue des calculs de bitmap ou d’agrégation à partir d’une colonne d’entiers non signés, renvoie une cardinalité de type UInt64 et, si le suffixe -State est ajouté, renvoie alors un objet bitmap.
groupBitmapAnd Calcule le AND d’une colonne bitmap, renvoie une cardinalité de type UInt64 et, si le suffixe -State est ajouté, renvoie alors un objet bitmap.
groupBitmapOr Calcule le OR d’une colonne bitmap, renvoie une cardinalité de type UInt64 et, si le suffixe -State est ajouté, renvoie alors un objet bitmap. Cela équivaut à groupBitmapMerge.
groupBitmapXor Calcule le XOR d’une colonne bitmap et renvoie la cardinalité de type UInt64 ; si le suffixe -State est utilisé, renvoie alors un objet bitmap.
groupBitOr Applique l’opération bit à bit OR à une série de nombres.
groupBitXor Applique l’opération bit à bit XOR à une série de nombres.
groupConcat Calcule une chaîne concaténée à partir d’un groupe de chaînes, éventuellement séparées par un délimiteur et éventuellement limitée à un nombre maximal d’éléments.
groupUniqArray Crée un tableau à partir de différentes valeurs d’argument.
intervalLengthSum Calcule la longueur totale de l’union de toutes les plages (segments sur l’axe numérique).
kolmogorovSmirnovTest Applique le test de Kolmogorov-Smirnov à des échantillons issus de deux populations.
kurtPop Calcule la kurtosis d’une séquence.
kurtSamp Calcule la kurtosis d’échantillon d’une séquence.
largestTriangleThreeBuckets Applique l’algorithme Largest-Triangle-Three-Buckets aux données d’entrée.
last_value Sélectionne la dernière valeur rencontrée, comme anyLast, mais peut accepter NULL.
mannWhitneyUTest Applique le test des rangs de Mann-Whitney à des échantillons issus de deux populations.
max Fonction d’agrégation qui calcule le maximum dans un groupe de valeurs.
maxIntersections Fonction d’agrégation qui calcule le nombre maximal d’intersections au sein d’un groupe d’intervalles (si tous les intervalles s’intersectent au moins une fois).
maxIntersectionsPosition Fonction d’agrégation qui calcule les positions des occurrences de la fonction maxIntersections.
maxMap Calcule le maximum à partir du tableau value selon les clés spécifiées dans le tableau key.
meanZTest Applique le test z sur la moyenne à des échantillons issus de deux populations.
median Les fonctions median* sont des alias des fonctions quantile* correspondantes. Elles calculent la médiane d’un échantillon de données numériques.
min Fonction d’agrégation qui calcule le minimum dans un groupe de valeurs.
minMap Calcule le minimum à partir du tableau value selon les clés spécifiées dans le tableau key.
quantile Calcule un quantile approximatif d’une séquence de données numériques.
quantileBFloat16 Calcule un quantile approximatif d’un échantillon composé de nombres bfloat16.
quantileDD Calcule un quantile approximatif d’un échantillon avec des garanties d’erreur relative.
quantileDeterministic Calcule un quantile approximatif d’une séquence de données numériques.
quantileExact Functions Fonctions quantileExact, quantileExactLow, quantileExactHigh, quantileExactExclusive, quantileExactInclusive
quantileExactExclusive Calcule exactement le quantile d’une séquence de données numériques.
quantileExactHigh Comme quantileExact, calcule le quantile exact d’une séquence de données numériques.
quantileExactInclusive Calcule exactement le quantile d’une séquence de données numériques.
quantileExactLow Comme quantileExact, calcule le quantile exact d’une séquence de données numériques.
quantileExactWeighted Calcule exactement le quantile d’une séquence de données numériques, en tenant compte du poids de chaque élément.
quantileExactWeightedInterpolated Calcule le quantile d’une séquence de données numériques par interpolation linéaire, en tenant compte du poids de chaque élément.
quantileGK Calcule le quantile d’une séquence de données numériques à l’aide de l’algorithme de Greenwald-Khanna.
quantileInterpolatedWeighted Calcule le quantile d’une séquence de données numériques par interpolation linéaire, en tenant compte du poids de chaque élément.
quantilePrometheusHistogram Calcule le quantile d’un histogramme par interpolation linéaire.
quantiles Functions quantiles, quantilesExactExclusive, quantilesExactInclusive, quantilesGK
quantilesExactExclusive Calcule exactement les quantiles d'une séquence de données numériques.
quantilesExactInclusive Calcule exactement les quantiles d'une séquence de données numériques.
quantilesGK quantilesGK fonctionne de manière similaire à quantileGK, mais permet de calculer simultanément des quantiles à différents niveaux et renvoie un tableau.
quantilesTimingWeighted Avec une précision déterminée, calcule le quantile d'une séquence de données numériques en fonction du poids de chaque élément de la séquence.
quantileTDigest Calcule un quantile approximatif d'une séquence de données numériques à l'aide de l'algorithme t-digest.
quantileTDigestWeighted Calcule un quantile approximatif d'une séquence de données numériques à l'aide de l'algorithme t-digest.
quantileTiming Avec une précision déterminée, calcule le quantile d'une séquence de données numériques.
quantileTimingWeighted Avec une précision déterminée, calcule le quantile d'une séquence de données numériques en fonction du poids de chaque élément de la séquence.
rankCorr Calcule un coefficient de corrélation de rang.
simpleLinearRegression Effectue une régression linéaire simple (unidimensionnelle).
singleValueOrNull La fonction d'agrégation singleValueOrNull est utilisée pour implémenter des opérateurs de sous-requête, tels que x = ALL (SELECT ...). Elle vérifie s'il n'existe qu'une seule unique valeur non-NULL dans les données.
skewPop Calcule l'asymétrie d'une séquence.
skewSamp Calcule l'asymétrie d'échantillon d'une séquence.
sparkbar La fonction trace un histogramme de fréquences pour les valeurs x et leur fréquence y sur l'intervalle [min_x, max_x].
stddevPop Le résultat est égal à la racine carrée de varPop.
stddevPopStable Le résultat est égal à la racine carrée de varPop. Contrairement à stddevPop, cette fonction utilise un algorithme numériquement stable.
stddevSamp Le résultat est égal à la racine carrée de varSamp
stddevSampStable Le résultat est égal à la racine carrée de varSamp. Contrairement à stddevSamp, cette fonction utilise un algorithme numériquement stable.
stochasticLinearRegression Cette fonction implémente une régression linéaire stochastique. Elle prend en charge des paramètres personnalisés pour le taux d'apprentissage, le coefficient de régularisation L2, la taille des mini-lots, et propose plusieurs méthodes de mise à jour des poids (Adam, simple SGD, Momentum, Nesterov.)
stochasticLogisticRegression Cette fonction implémente une régression logistique stochastique. Elle peut être utilisée pour un problème de classification binaire, prend en charge les mêmes paramètres personnalisés que stochasticLinearRegression et fonctionne de la même manière.
studentTTest Applique le test t de Student à des échantillons issus de deux populations.
studentTTestOneSample Applique le test t de Student à un échantillon et à une moyenne de population connue.
sum Calcule la somme. Fonctionne uniquement pour les nombres.
sumCount Calcule la somme des nombres et compte en même temps le nombre de lignes. La fonction est utilisée par l'optimiseur de requêtes ClickHouse : s'il y a plusieurs fonctions sum, count ou avg dans une requête, elles peuvent être remplacées par une seule fonction sumCount afin de réutiliser les calculs. Il est rarement nécessaire d'utiliser explicitement cette fonction.
sumKahan Calcule la somme des nombres à l'aide de l'algorithme de sommation compensée de Kahan
sumMap Totalise un ou plusieurs tableaux value selon les clés spécifiées dans le tableau key. Renvoie un tuple de tableaux : les clés dans l'ordre trié, suivies des valeurs additionnées pour les clés correspondantes sans dépassement de capacité.
sumMapWithOverflow Totalise un tableau value selon les clés spécifiées dans le tableau key. Renvoie un tuple de deux tableaux : les clés dans l'ordre trié, et les valeurs additionnées pour les clés correspondantes. Diffère de la fonction sumMap en ce qu'elle effectue une sommation avec dépassement de capacité.
sumWithOverflow Calcule la somme des nombres en utilisant, pour le résultat, le même type de données que pour les paramètres d'entrée. Si la somme dépasse la valeur maximale de ce type de données, elle est calculée avec dépassement de capacité.
theilsU La fonction theilsU calcule le coefficient d'incertitude U de Theil, une valeur qui mesure l'association entre deux colonnes d'une table.
timeSeriesChangesToGrid Fonction d'agrégation qui calcule des changements de type PromQL sur des données de séries temporelles selon la grille spécifiée.
timeSeriesDeltaToGrid Fonction d'agrégation qui calcule un delta de type PromQL sur des données de séries temporelles selon la grille spécifiée.
timeSeriesDerivToGrid Fonction d'agrégation qui calcule une dérivée de type PromQL sur des données de séries temporelles selon la grille spécifiée.
timeSeriesGroupArray Trie les séries temporelles par horodatage par ordre croissant.
timeSeriesInstantDeltaToGrid Fonction d'agrégation qui calcule un idelta de type PromQL sur des données de séries temporelles selon la grille spécifiée.
timeSeriesInstantRateToGrid Fonction d'agrégation qui calcule un irate de type PromQL sur des données de séries temporelles selon la grille spécifiée.
timeSeriesLastTwoSamples Fonction d'agrégation permettant de rééchantillonner des données de séries temporelles pour calculer irate et idelta de type PromQL
timeSeriesPredictLinearToGrid Fonction d'agrégation qui calcule une prédiction linéaire de type PromQL sur des données de séries temporelles selon la grille spécifiée.
timeSeriesRateToGrid Fonction d'agrégation qui calcule un rate de type PromQL sur des données de séries temporelles selon la grille spécifiée.
timeSeriesResampleToGridWithStaleness Fonction d'agrégation qui rééchantillonne des données de séries temporelles selon la grille spécifiée.
timeSeriesResetsToGrid Fonction d'agrégation qui calcule des resets de type PromQL sur des données de séries temporelles selon la grille spécifiée.
topK Renvoie un tableau des valeurs approximativement les plus fréquentes dans la colonne spécifiée. Le tableau résultant est trié par ordre décroissant de la fréquence approximative des valeurs (et non des valeurs elles-mêmes).
topKWeighted Renvoie un tableau des valeurs approximativement les plus fréquentes dans la colonne spécifiée. Le tableau résultant est trié par ordre décroissant de la fréquence approximative des valeurs (et non des valeurs elles-mêmes). De plus, le poids de la valeur est pris en compte.
uniq Calcule le nombre approximatif de valeurs distinctes de l'argument.
uniqCombined Calcule le nombre approximatif de valeurs d'argument distinctes.
uniqCombined64 Calcule le nombre approximatif de valeurs d'argument distinctes. C'est identique à uniqCombined, mais utilise un hash 64 bits pour tous les types de données, et pas seulement pour le type de données String.
uniqExact Calcule le nombre exact de valeurs d'argument distinctes.
uniqHLL12 Calcule le nombre approximatif de valeurs d'argument distinctes à l'aide de l'algorithme HyperLogLog.
uniqTheta Calcule le nombre approximatif de valeurs d'argument distinctes à l'aide du Theta Sketch Framework.
varPop Calcule la variance de la population.
varPopStable Renvoie la variance de la population. Contrairement à varPop, cette fonction utilise un algorithme numériquement stable. Elle est plus lente, mais produit une erreur de calcul plus faible.
varSamp Calcule la variance de l'échantillon d'un jeu de données.
varSampStable Calcule la variance de l'échantillon d'un jeu de données. Contrairement à varSamp, cette fonction utilise un algorithme numériquement stable. Elle est plus lente, mais produit une erreur de calcul plus faible.
welchTTest Applique le test t de Welch à des échantillons issus de deux populations.
Navigation