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

argMin

أُضيف في: v1.1.0 تحسب قيمة arg المقابلة لأدنى قيمة val. إذا وُجدت عدة صفوف لها قيمة val متساوية وتمثل القيمة القصوى، فإن تحديد أي قيمة arg مرتبطة بها ستُعاد ليس حتميًا. يتصرف كلٌّ من arg وmin على أنهما دوال تجميعية، وكلاهما يتجاوز Null أثناء المعالجة ويُرجع قيمة غير Null إذا كانت هناك قيم غير Null متاحة. انظر أيضًا البنية
argMin(arg, val)
الأسماء البديلة: min_by الوسيطات القيمة المُعادة تُرجِع قيمة arg المقابلة لأصغر قيمة لـ val. النوع مطابق لنوع 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)      │
└────────────────────────┴──────────────────┘
آخر تعديل في ٢٥ يونيو ٢٠٢٦