Agrégations de base
Méthodes intégrées
| Méthode | Équivalent SQL | Description |
|---|---|---|
sum() | SUM() | Somme des valeurs |
mean() | AVG() | Moyenne |
count() | COUNT() | Nombre de valeurs non NULL |
min() | MIN() | Valeur minimale |
max() | MAX() | Valeur maximale |
median() | MEDIAN() | Valeur médiane |
std() | stddevPop() | Écart-type |
var() | varPop() | Variance |
nunique() | COUNT(DISTINCT) | Nombre de valeurs uniques |
Agrégations avec GroupBy
Agrégation simple
Agrégations multiples
Agrégations nommées
Plusieurs clés de GroupBy
Agrégations statistiques
| Méthode | Équivalent SQL | Description |
|---|---|---|
quantile(q) | quantile(q) | quantile d’ordre q (0-1) |
skew() | skewPop() | Asymétrie |
kurt() | kurtPop() | Kurtose |
corr() | corr() | Corrélation |
cov() | covar() | Covariance |
sem() | - | Erreur standard de la moyenne |
Agrégations conditionnelles
| Fonction | ClickHouse | Description |
|---|---|---|
sum_if(cond) | sumIf() | Somme si la condition est remplie |
count_if(cond) | countIf() | Nombre si la condition est remplie |
avg_if(cond) | avgIf() | Moyenne si la condition est remplie |
min_if(cond) | minIf() | Minimum si la condition est remplie |
max_if(cond) | maxIf() | Maximum si la condition est remplie |
Agrégations de collecte
| Fonction | ClickHouse | Description |
|---|---|---|
group_array() | groupArray() | Collecte dans un Array |
group_uniq_array() | groupUniqArray() | Collecte des valeurs uniques dans un Array |
group_concat(sep) | groupConcat() | Concaténation de chaînes |
top_k(n) | topK(n) | K valeurs les plus fréquentes |
any() | any() | Valeur quelconque |
any_last() | anyLast() | Dernière valeur |
first_value() | first_value() | Première valeur dans l’ordre |
last_value() | last_value() | Dernière valeur dans l’ordre |
Fonctions de fenêtre
Fonctions de classement
| Function | SQL | Description |
|---|---|---|
row_number() | ROW_NUMBER() | Numéro de ligne consécutif |
rank() | RANK() | Rang avec sauts |
dense_rank() | DENSE_RANK() | Rang sans sauts |
ntile(n) | NTILE(n) | Répartir en n groupes |
percent_rank() | PERCENT_RANK() | Rang en percentile (0-1) |
cume_dist() | CUME_DIST() | Distribution cumulée |
Fonctions de valeur
| Fonction | SQL | Description |
|---|---|---|
lag(n) | LAG(col, n) | Valeur de la ligne précédente |
lead(n) | LEAD(col, n) | Valeur de la ligne suivante |
first_value() | FIRST_VALUE() | Première valeur de la fenêtre |
last_value() | LAST_VALUE() | Dernière valeur de la fenêtre |
nth_value(n) | NTH_VALUE(col, n) | Nième valeur de la fenêtre |
Fonctions cumulatives
| Méthode | Description |
|---|---|
cumsum() | Somme cumulée |
cummax() | Maximum cumulé |
cummin() | Minimum cumulé |
cumprod() | Produit cumulé |
diff(n) | Différence par rapport à la valeur n lignes auparavant |
pct_change(n) | Variation en pourcentage par rapport à la valeur n lignes auparavant |
Fenêtres glissantes
Espace de noms F
F donne accès aux fonctions ClickHouse.
Import
Utiliser les fonctions F
F avec les fonctions de fenêtre
Modèles d’agrégation courants
Top N par groupe
Cumul
Moyenne mobile
Comparaison d’une année à l’autre
Rang centile
Résumé des méthodes d’agrégation
| Catégorie | Méthodes |
|---|---|
| De base | sum, mean, count, min, max, median |
| Statistiques | std, var, quantile, skew, kurt, corr, cov |
| Conditionnelles | sum_if, count_if, avg_if, min_if, max_if |
| Collections | group_array, group_uniq_array, group_concat, top_k |
| Classement | row_number, rank, dense_rank, ntile, percent_rank |
| Valeurs | lag, lead, first_value, last_value, nth_value |
| Cumulées | cumsum, cummax, cummin, cumprod, diff, pct_change |
| Glissantes | rolling().mean/sum/std/..., expanding().mean/sum/... |