Saltar al contenido principal

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.
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;
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.
Response
   ┌─avg_successful_sale─┐
1. │              193.88 │
   └─────────────────────┘

Véase también

Última modificación el 10 de junio de 2026