Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

argMin

الاسم المستعار: min_by

argMin

أُضيف في: v1.1.0

تحسب قيمة arg المقابلة لأصغر قيمة val. إذا وُجدت عدة صفوف لها قيمة val متساوية وتمثل القيمة القصوى، فإن تحديد أي قيمة arg مرتبطة بها ستُعاد ليس حتميًا. يتصرف كلٌّ من arg وmin على أنهما دوال تجميعية، وكلاهما يتجاوز Null أثناء المعالجة ويُرجع قيمة غير Null إذا كانت هناك قيم غير Null متاحة.

انظر أيضًا

البنية

argMin(arg, val)

الأسماء المستعارة: min_by

الوسيطات

القيمة المُعادة

تُرجِع قيمة arg المقابلة لأصغر قيمة لـ val. النوع مطابق لنوع arg.

أمثلة

الاستخدام الأساسي

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

SELECT argMin(user, salary) FROM salary;
┌─argMin(user, salary)─┐
│ worker               │
└──────────────────────┘

مثال موسّع مع معالجة 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), min(b) FROM test;
┌─argMin(a, b)─┬─min(b)─┐
│ a            │      0 │
└──────────────┴────────┘

استخدام Tuple في المعاملات

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