メインコンテンツへスキップ

argMin

導入バージョン: v1.1.0 最小の val 値に対応する arg の値を計算します。最小の val を持つ行が複数ある場合、対応する arg のうちどれが返されるかは決定論的ではありません。 argmin はどちらも aggregate functions として振る舞い、処理中はともに skip Null し、Null ではない値があれば Null ではない値を返します。 関連項目 構文
argMin(arg, val)
引数 戻り値 最小の val 値に対応する arg の値を返します。戻り値の型は arg と同じです。 基本的な使い方
Query
SELECT argMin(user, salary) FROM salary;
Response
┌─argMin(user, salary)─┐
│ worker               │
└──────────────────────┘
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 │
└──────────────┴────────┘
引数でTupleを使用する
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)      │
└────────────────────────┴──────────────────┘
最終更新日 2026年6月10日