Saltar al contenido principal
Es un alias de any, pero se introdujo por compatibilidad con las funciones de ventana, donde a veces es necesario procesar valores NULL (de forma predeterminada, todas las funciones de agregación de ClickHouse ignoran los valores NULL). Admite declarar un modificador para respetar los valores nulos (RESPECT NULLS), tanto en funciones de ventana como en agregaciones normales. Al igual que con any, sin funciones de ventana el resultado será aleatorio si el flujo de origen no está ordenado y el tipo de retorno coincide con el tipo de entrada (NULL solo se devuelve si la entrada es Nullable o si se añade el combinador -OrNull).

ejemplos

CREATE TABLE test_data
(
    a Int64,
    b Nullable(Int64)
)
ENGINE = Memory;

INSERT INTO test_data (a, b) VALUES (1,null), (2,3), (4, 5), (6,null);

Ejemplo 1

De forma predeterminada, se ignora el valor NULL.
SELECT first_value(b) FROM test_data;
┌─any(b)─┐
│      3 │
└────────┘

Ejemplo 2

Se ignora el valor NULL.
SELECT first_value(b) ignore nulls FROM test_data
┌─any(b) IGNORE NULLS ─┐
│                    3 │
└──────────────────────┘

Ejemplo 3

Se acepta el valor NULL.
SELECT first_value(b) respect nulls FROM test_data
┌─any(b) RESPECT NULLS ─┐
│                  ᴺᵁᴸᴸ │
└───────────────────────┘

Ejemplo 4

Resultado estabilizado mediante la subconsulta con ORDER BY.
SELECT
    first_value_respect_nulls(b),
    first_value(b)
FROM
(
    SELECT *
    FROM test_data
    ORDER BY a ASC
)
┌─any_respect_nulls(b)─┬─any(b)─┐
│                 ᴺᵁᴸᴸ │      3 │
└──────────────────────┴────────┘
Última modificación el 10 de junio de 2026