Passer au contenu principal
Alias : min_by

argMin

Introduit dans : v1.1.0 Calcule la valeur arg pour une valeur val minimale. S’il existe plusieurs lignes avec des val égales correspondant au maximum, le arg associé renvoyé n’est pas déterministe. arg et min se comportent tous deux comme des fonctions d’agrégation : ils ignorent NULL pendant le traitement et renvoient des valeurs non NULL si de telles valeurs sont disponibles. Voir aussi Syntaxe
argMin(arg, val)
Alias : min_by Arguments Valeur renvoyée Renvoie la valeur de arg correspondant à la valeur minimale de val. Le type correspond à celui de arg. Exemples Utilisation de base
Query
SELECT argMin(user, salary) FROM salary;
Response
┌─argMin(user, salary)─┐
│ worker               │
└──────────────────────┘
Exemple détaillé avec prise en charge 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), min(b) FROM test;
Response
┌─argMin(a, b)─┬─min(b)─┐
│ a            │      0 │
└──────────────┴────────┘
Utilisation de Tuple dans les arguments
Query
SELECT argMin(a, (b, a)), min(tuple(b, a)) FROM test;
Response
┌─argMin(a, tuple(b, a))─┬─min(tuple(b, a))─┐
│ d                      │ (NULL,NULL)      │
└────────────────────────┴──────────────────┘
Dernière modification le 25 juin 2026