Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

avgIf

Descripción

El combinador If puede aplicarse a la función avg para calcular la media aritmética de los valores de las filas en las que se cumple la condición, mediante la función de combinador de agregación avgIf.

Ejemplo de uso

En este ejemplo, crearemos una tabla que almacena datos de ventas con indicadores de éxito, y usaremos avgIf para calcular el importe promedio de venta de las transacciones correctas.

Querysql
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;

La función avgIf calculará el importe medio solo para las filas en las que is_successful = 1. En este caso, calculará la media de los importes: 100.50, 200.75, 300.00 y 175.25.

Responseresponse
   ┌─avg_successful_sale─┐
1. │              193.88 │
   └─────────────────────┘

Véase también

Navigation