Agregações básicas
Métodos nativos
| Método | Equivalente em SQL | Descrição |
|---|---|---|
sum() | SUM() | Soma dos valores |
mean() | AVG() | Média |
count() | COUNT() | Contagem de valores não nulos |
min() | MIN() | Valor mínimo |
max() | MAX() | Valor máximo |
median() | MEDIAN() | Valor mediano |
std() | stddevPop() | Desvio padrão |
var() | varPop() | Variância |
nunique() | COUNT(DISTINCT) | Contagem de valores únicos |
Agregações com GroupBy
Agregação única
Múltiplas agregações
Agregações nomeadas
Múltiplas chaves de agrupamento
Agregações estatísticas
| Método | Equivalente em SQL | Descrição |
|---|---|---|
quantile(q) | quantile(q) | q-ésimo quantil (0-1) |
skew() | skewPop() | Assimetria |
kurt() | kurtPop() | Curtose |
corr() | corr() | Correlação |
cov() | covar() | Covariância |
sem() | - | Erro padrão da média |
Agregações condicionais
| Função | ClickHouse | Descrição |
|---|---|---|
sum_if(cond) | sumIf() | Soma quando a condição é verdadeira |
count_if(cond) | countIf() | Contagem quando a condição é verdadeira |
avg_if(cond) | avgIf() | Média quando a condição é verdadeira |
min_if(cond) | minIf() | Mínimo quando a condição é verdadeira |
max_if(cond) | maxIf() | Máximo quando a condição é verdadeira |
Agregações de coleção
| Função | ClickHouse | Descrição |
|---|---|---|
group_array() | groupArray() | Reúne em um array |
group_uniq_array() | groupUniqArray() | Reúne valores únicos em um array |
group_concat(sep) | groupConcat() | Concatena strings |
top_k(n) | topK(n) | K valores mais frequentes |
any() | any() | Um valor qualquer |
any_last() | anyLast() | Último valor |
first_value() | first_value() | Primeiro valor na ordem |
last_value() | last_value() | Último valor na ordem |
Funções de janela
Funções de Classificação
| Função | SQL | Descrição |
|---|---|---|
row_number() | ROW_NUMBER() | Número sequencial da linha |
rank() | RANK() | Classificação com lacunas |
dense_rank() | DENSE_RANK() | Classificação sem lacunas |
ntile(n) | NTILE(n) | Divide em n grupos |
percent_rank() | PERCENT_RANK() | Classificação percentual (0-1) |
cume_dist() | CUME_DIST() | Distribuição cumulativa |
Funções de valor
| Função | SQL | Descrição |
|---|---|---|
lag(n) | LAG(col, n) | Valor da linha anterior |
lead(n) | LEAD(col, n) | Valor da próxima linha |
first_value() | FIRST_VALUE() | Primeiro valor na janela |
last_value() | LAST_VALUE() | Último valor na janela |
nth_value(n) | NTH_VALUE(col, n) | Enésimo valor na janela |
Funções cumulativas
| Método | Descrição |
|---|---|
cumsum() | Soma cumulativa |
cummax() | Máximo cumulativo |
cummin() | Mínimo cumulativo |
cumprod() | Produto cumulativo |
diff(n) | Diferença em relação a n linhas anteriores |
pct_change(n) | Variação percentual em relação a n linhas anteriores |
Janelas móveis
Espaço de nomes F
F permite acessar as funções do ClickHouse.
Import
Usando as funções F
F com funções de janela
Padrões comuns de agregação
Top N por grupo
Total acumulado
Média móvel
Comparação ano a ano
Ranking por percentil
Resumo dos métodos de agregação
| Categoria | Métodos |
|---|---|
| Básicos | sum, mean, count, min, max, median |
| Estatísticos | std, var, quantile, skew, kurt, corr, cov |
| Condicionais | sum_if, count_if, avg_if, min_if, max_if |
| Coleção | group_array, group_uniq_array, group_concat, top_k |
| Ranking | row_number, rank, dense_rank, ntile, percent_rank |
| Valor | lag, lead, first_value, last_value, nth_value |
| Acumulados | cumsum, cummax, cummin, cumprod, diff, pct_change |
| Deslizantes | rolling().mean/sum/std/..., expanding().mean/sum/... |