Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

argAndMin

argAndMin

أُضيف في: v1.1.0

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

انظر أيضًا

البنية

argAndMin(arg, val)

الوسائط

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

تُعيد قيمة من النوع Tuple تحتوي على قيمة arg المقابلة لأصغر قيمة لـ val، وأصغر قيمة لـ val.

أمثلة

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

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)         │
└─────────────────────────┘

مثال موسّع مع معالجة 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 │
└──────────────┴─────────────────┴────────┘

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

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

انظر أيضًا

Navigation