Saltar al contenido principal

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.
La única diferencia con argMin es que argAndMin devuelve tanto el argumento como el valor.
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
Query
SELECT argAndMin(user, salary) FROM salary;
Response
┌─argAndMin(user, salary)─┐
│ ('worker',1000)         │
└─────────────────────────┘
Ejemplo ampliado con tratamiento de NULL
Query
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;
Response
┌─argMin(a, b)─┬─argAndMin(a, b)─┬─min(b)─┐
│ a            │ ('a',1)         │      0 │
└──────────────┴─────────────────┴────────┘
Uso de Tuple en los argumentos
Query
SELECT argAndMin(a, (b, a)), min(tuple(b, a)) FROM test;
Response
┌─argAndMin(a, (b, a))─┬─min((b, a))─┐
│ ('a',(1,'a'))        │ (0,NULL)    │
└──────────────────────┴─────────────┘
Ver también
Última modificación el 10 de junio de 2026