Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

argAndMin

argAndMin

Introducido en: v1.1.0

Calcula los valores arg y val correspondientes al valor mínimo de val. Si hay varias filas con el mismo val mínimo, no es determinista cuál de los arg y val asociados se devuelve. Tanto arg como min se comportan como funciones de agregado; ambos omiten Null durante el procesamiento y devuelven valores distintos de Null si hay valores distintos de Null disponibles.

Ver también

Sintaxis

argAndMin(arg, val)

Argumentos

Valor devuelto

Devuelve una tupla que contiene el valor de arg correspondiente al valor mínimo de val y el valor mínimo de val. Tuple

Ejemplos

Uso básico

CREATE TABLE salary
(
    user String,
    salary UInt32
)
ENGINE = Memory AS
SELECT *
FROM VALUES(('worker', 1000), ('manager', 3000), ('director', 5000));

SELECT argAndMin(user, salary) FROM salary;
┌─argAndMin(user, salary)─┐
│ ('worker',1000)         │
└─────────────────────────┘

Ejemplo ampliado con tratamiento de NULL

CREATE TABLE test
(
    a Nullable(String),
    b Nullable(Int64)
)
ENGINE = Memory AS
SELECT *
FROM VALUES((NULL, 0), ('a', 1), ('b', 2), ('c', 2), (NULL, NULL), ('d', NULL));

SELECT argMin(a,b), argAndMin(a, b), min(b) FROM test;
┌─argMin(a, b)─┬─argAndMin(a, b)─┬─min(b)─┐
│ a            │ ('a',1)         │      0 │
└──────────────┴─────────────────┴────────┘

Uso de Tuple en los argumentos

SELECT argAndMin(a, (b, a)), min(tuple(b, a)) FROM test;
┌─argAndMin(a, (b, a))─┬─min((b, a))─┐
│ ('a',(1,'a'))        │ (0,NULL)    │
└──────────────────────┴─────────────┘

Ver también

Navigation