Pular para o conteúdo principal

Descrição

O combinador If pode ser aplicado à função avg para calcular a média aritmética dos valores das linhas em que a condição é verdadeira, usando a função de agregação com combinador avgIf.

Exemplo de uso

Neste exemplo, vamos criar uma tabela que armazena dados de vendas com indicadores de sucesso e usar avgIf para calcular o valor médio das vendas em transações bem-sucedidas.
Query
CREATE TABLE sales(
    transaction_id UInt32,
    amount Decimal(10,2),
    is_successful UInt8
) ENGINE = MergeTree
ORDER BY ();

INSERT INTO sales VALUES
    (1, 100.50, 1),
    (2, 200.75, 1),
    (3, 150.25, 0),
    (4, 300.00, 1),
    (5, 250.50, 0),
    (6, 175.25, 1);

SELECT
    avgIf(amount, is_successful = 1) AS avg_successful_sale
FROM sales;
A função avgIf calculará a média apenas das linhas em que is_successful = 1. Nesse caso, ela calculará a média dos valores: 100.50, 200.75, 300.00 e 175.25.
Response
   ┌─avg_successful_sale─┐
1. │              193.88 │
   └─────────────────────┘

Veja também

Última modificação em 10 de junho de 2026