الانتقال إلى المحتوى الرئيسي

argAndMin

أُضيف في: v1.1.0 يحسب قيمتَي arg وval المقترنتين بأصغر قيمة val. إذا كانت هناك عدة صفوف لها نفس قيمة val الدنيا، فإن تحديد أيٍّ من arg وval المرتبطين بها سيُعاد ليس حتميًا. يتعامل كلٌّ من arg وmin باعتبارهما دوال تجميعية، وكلاهما يتخطى Null أثناء المعالجة ويُرجع قيمًا غير Null إذا كانت قيم غير Null متاحة.
الفرق الوحيد عن argMin هو أن argAndMin يعيد كلاً من الوسيطة والقيمة.
انظر أيضًا البنية
argAndMin(arg, val)
الوسائط القيمة المُعادة تُعيد قيمة من النوع Tuple تحتوي على قيمة arg المقابلة لأصغر قيمة لـ val، وأصغر قيمة لـ val. أمثلة الاستخدام الأساسي
Query
SELECT argAndMin(user, salary) FROM salary;
Response
┌─argAndMin(user, salary)─┐
│ ('worker',1000)         │
└─────────────────────────┘
مثال موسّع مع معالجة 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 │
└──────────────┴─────────────────┴────────┘
استخدام Tuple في المعاملات
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)    │
└──────────────────────┴─────────────┘
انظر أيضًا
آخر تعديل في ٢٥ يونيو ٢٠٢٦