Saltar al contenido principal

Descripción

El combinador If se puede aplicar a la función de agregado any para seleccionar el primer elemento encontrado en una columna determinada que cumpla la condición indicada.

Ejemplo de uso

En este ejemplo, crearemos una tabla que almacena datos de ventas con indicadores de éxito y usaremos anyIf para seleccionar los primeros transaction_id con importes por encima y por debajo de 200. Primero creamos una tabla e insertamos datos en ella:
Query
CREATE TABLE sales(
    transaction_id UInt32,
    amount Decimal(10,2),
    is_successful UInt8
) 
ENGINE = MergeTree()
ORDER BY tuple();

INSERT INTO sales VALUES
    (1, 100.00, 1),
    (2, 150.00, 1),
    (3, 155.00, 0),
    (4, 300.00, 1),
    (5, 250.50, 0),
    (6, 175.25, 1);
SELECT
    anyIf(transaction_id, amount < 200) AS tid_lt_200,
    anyIf(transaction_id, amount > 200) AS tid_gt_200
FROM sales;
Response
┌─tid_lt_200─┬─tid_gt_200─┐
│          1 │          4 │
└────────────┴────────────┘

Véase también

Última modificación el 10 de junio de 2026