array
emptyArray*.
استخدم العامل [ ] للحصول على الوظيفة نفسها.
الصيغة
x1— قيمة ثابتة من أي نوعT. إذا تم توفير هذا الوسيط فقط، فستكون المصفوفة من النوعT. -[, x2, ..., xN]—Nقيم ثابتة إضافية لها نوع أعلى مشترك معx1
Array(T)
أمثلة
استخدام صحيح
Query
Response
Query
Response
arrayAUCPR
arrayPRAUC
الوسائط
cores— الدرجات التي ينتجها نموذج التنبؤ.Array((U)Int*)أوArray(Float*)labels— تسميات العينات، وعادةً ما تكون 1 للعينة الإيجابية و0 للعينة السلبية.Array((U)Int*)أوArray(Enum)partial_offsets—- اختياري. مصفوفة
Array(T)تتكوّن من ثلاثة أعداد صحيحة غير سالبة لحساب مساحة جزئية تحت منحنى PR (وهو ما يعادل شريطًا رأسيًا في فضاء PR) بدلًا من حساب AUC بالكامل. يفيد هذا الخيار في الحساب الموزّع لـ PR AUC. يجب أن تحتوي المصفوفة على العناصر التالية [higher_partitions_tp,higher_partitions_fp,total_positives].higher_partitions_tp: عدد التسميات الإيجابية في الأقسام ذات الدرجات الأعلى.higher_partitions_fp: عدد التسميات السلبية في الأقسام ذات الدرجات الأعلى.total_positives: العدد الإجمالي للعينات الإيجابية في مجموعة البيانات بأكملها.
عند استخدام
arr_partial_offsets، يجب أن يكون كل من arr_scores وarr_labels مجرد قسم من مجموعة البيانات بأكملها، ويحتوي على نطاق من الدرجات.
يجب تقسيم مجموعة البيانات إلى أقسام متجاورة، بحيث يحتوي كل قسم على مجموعة فرعية من البيانات التي تقع درجاتها ضمن نطاق محدد.
على سبيل المثال:- قد يحتوي أحد الأقسام على جميع الدرجات ضمن النطاق [0, 0.5).
- وقد يحتوي قسم آخر على الدرجات ضمن النطاق [0.5, 1.0].
Float64
أمثلة
مثال على الاستخدام
Query
Response
arrayAll
1 إذا أرجعت الدالة lambda func(x [, y1, y2, ... yN]) القيمة true لجميع العناصر. وإلا، فيعيد 0.
البنية
func(x[, y1, ..., yN])— دالة لامبدا تعمل على عناصر مصفوفة المصدر (x) ومصفوفات الشرط (y).Lambda functionsource_arr— مصفوفة المصدر المراد معالجتها.Array(T)cond1_arr, ...— اختياري. عدد N من مصفوفات الشرط التي توفّر وسيطات إضافية لدالة لامبدا.Array(T)
1 إذا كانت دالة لامبدا تُرجع true لجميع العناصر، وإلا فتُرجع 0 UInt8
أمثلة
جميع العناصر تستوفي الشرط
Query
Response
Query
Response
arrayAutocorrelation
max_lag، فسيحسب الارتباط فقط لقيم التأخر ضمن النطاق [0, max_lag).
إذا لم يتم توفير max_lag، فسيحسبه لجميع قيم التأخر الممكنة.
الصيغة
arr— مصفوفة من الأرقام.Array(T)max_lag— اختياري. الحد الأقصى لعدد فترات التأخر المطلوب حسابها. يجب أن يكون عددًا صحيحًا غير سالب.Integer
Array(Float64)
أمثلة
خطي
Query
Response
Query
Response
Query
Response
Query
Response
arrayAvg
func، فسيُعاد متوسط عناصر النتائج الناتجة عن اللامدا.
الصيغة
func(x[, y1, ..., yN])— اختياري. دالة لامبدا تعمل على عناصر مصفوفة المصدر (x) ومصفوفات الشرط (y).Lambda functionsource_arr— مصفوفة المصدر المطلوب معالجتها.Array(T)[, cond1_arr, ... , condN_arr]— اختياري. N من مصفوفات الشرط التي توفّر وسيطات إضافية لدالة لامبدا.Array(T)
Float64
أمثلة
مثال أساسي
Query
Response
Query
Response
arrayBottomK
f، فتُقارَن العناصر بناءً على نتيجة تطبيق f على كل عنصر.
إذا كانت f تقبل عدة وسائط، فستُمرَّر مصفوفات إضافية إلى arrayBottomK، وتكون عناصرها
مطابقةً لوسائط f.
يتم تخطي قيم NULL ولا تظهر في النتيجة. ويكون حجم النتيجة بحد أقصى K
وقد يكون أصغر إذا كانت مصفوفة الإدخال تحتوي على عدد من العناصر غير NULL أقل من K.
ويكون نوع عنصر النتيجة هو النظير غير القابل لأن تكون قيمته NULL لنوع عنصر الإدخال.
arrayBottomK هي دالة عالية الرتبة.
انظر أيضًا:
arrayTopK، التي تعيد أكبر K عنصرًا بدلًا من ذلك.arrayPartialSort، التي تنتج عناصر K نفسها في المواضع[1..K]ولكن تُبقي أيضًا العناصر المتبقية بترتيب غير محدد، ولا تتخطى القيم الفارغة.
f(arr[, arr1, ... ,arrN])— اختياري. دالة لامدا لحساب مفتاح الفرز لكل عنصر.دالة لامداK— عدد أصغر العناصر المطلوب إرجاعها.(U)Int8/16/32/64arr— مصفوفة.Array(T)arr1, ... ,arrN—Nمن المصفوفات الإضافية، في حال كانتfتقبل عدة وسيطات.Array(T)
K من عناصر arr الأصغر قيمةً (أو أصغر نتائج لامدا)، مرتبة بترتيب تصاعدي.
يتم تخطي قيم NULL. وتكون المصفوفة المعادة من نوع العنصر T حتى عندما يكون الإدخال من النوع Nullable(T).
أمثلة
simple_int
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
arrayCompact
null. ويُحدَّد ترتيب القيم في المصفوفة الناتجة بحسب ترتيبها في المصفوفة المُدخلة.
الصيغة
arr— مصفوفة تُزال منها القيم المكررة.Array(T)
Array(T)
أمثلة
مثال على الاستخدام
Query
Response
arrayConcat
arr1 [, arr2, ... , arrN]— عدد N من المصفوفات المراد ضمّها.Array(T)
Array(T)
أمثلة
مثال على الاستخدام
Query
Response
arrayCount
func(arr1[i], ..., arrN[i]) القيمة true لها.
إذا لم يتم تحديد func، فإنها تعيد عدد العناصر غير الصفرية في Array.
تُعد arrayCount دالة عالية الرتبة.
الصياغة
func— اختياري. الدالة المراد تطبيقها على كل عنصر في المصفوفة (أو المصفوفات).دالة لامبداarr1, ..., arrN— عددها N من المصفوفات.Array(T)
func لها القيمة true. وإلا، تعيد عدد العناصر غير الصفرية في المصفوفة. UInt32
أمثلة
مثال على الاستخدام
Query
Response
arrayCumSum
func— اختياري. دالة لامبدا تُطبَّق على عناصر المصفوفة عند كل موضع.Lambda functionarr1— مصفوفة المصدر للقيم الرقمية.Array(T)[arr2, ..., arrN]— اختياري. مصفوفات إضافية بالحجم نفسه، تُمرَّر كوسائط إلى دالة لامبدا إذا جرى تحديدها.Array(T)
Array(T)
أمثلة
الاستخدام الأساسي
Query
Response
Query
Response
arrayCumSumNonNegative
func— اختياري. دالة لامبدا تُطبَّق على عناصر المصفوفة عند كل موضع.Lambda functionarr1— مصفوفة المصدر للقيم الرقمية.Array(T)[arr2, ..., arrN]— اختياري. مصفوفات إضافية بالحجم نفسه، تُمرَّر كوسائط إلى دالة لامبدا إذا جرى تحديدها.Array(T)
Array(T)
أمثلة
الاستخدام الأساسي
Query
Response
Query
Response
arrayDifference
arr[1] - arr[0]، والثالث arr[2] - arr[1]، وهكذا.
يُحدَّد نوع العناصر في المصفوفة الناتجة وفقًا لقواعد استدلال النوع الخاصة بالطرح (على سبيل المثال UInt8 - UInt8 = Int16).
البنية
arr— المصفوفة التي تُحسَب لها الفروق بين العناصر المتجاورة.Array(T)
UInt*
أمثلة
مثال على الاستخدام
Query
Response
Query
Response
arrayDistinct
arr— المصفوفة التي تُستخرج منها العناصر الفريدة.Array(T)
Array(T)
أمثلة
مثال للاستخدام
Query
Response
arrayDotProduct
يجب أن يكون حجما المتجهين متساويين. كما يمكن أن تحتوي Array وTuple أيضًا على أنواع عناصر مختلطة.
v1— المتجه الأول.Array((U)Int* | Float* | Decimal)أوTuple((U)Int* | Float* | Decimal)v2— المتجه الثاني.Array((U)Int* | Float* | Decimal)أوTuple((U)Int* | Float* | Decimal)
يتحدد نوع الإرجاع حسب نوع الوسائط. إذا كانت Arrays أو Tuples تحتوي على أنواع عناصر مختلطة، فسيكون نوع النتيجة هو النوع الفائق.
(U)Int* أو Float* أو Decimal
أمثلة
مثال على Array
Query
Response
Query
Response
arrayElement
n، حيث يمكن أن يكون n أي نوع من الأعداد الصحيحة.
إذا كان الفهرس خارج حدود المصفوفة، فستُرجِع قيمة افتراضية (0 للأرقام، وسلسلة فارغة للنصوص، وما إلى ذلك)،
باستثناء وسيطات مصفوفة غير ثابتة وفهرس ثابت قيمته 0. في هذه الحالة سيظهر الخطأ Array indices are 1-based.
المصفوفات في ClickHouse تبدأ فهارسها من 1.
arr[-1] هو العنصر الأخير في المصفوفة.
يوفّر العامل [n] الوظيفة نفسها.
الصياغة
Array(T)
أمثلة
مثال على الاستخدام
Query
Response
Query
Response
Query
Response
Query
Response
arrayElementOrNull
n، حيث يمكن أن يكون n من أي نوع عدد صحيح.
إذا كان الفهرس خارج حدود المصفوفة، فستُعاد NULL بدلًا من القيمة الافتراضية.
المصفوفات في ClickHouse تبدأ فهارسها من 1.
arr[-1] هو آخر عنصر في المصفوفة.
الصيغة
arrays— عدد غير محدد من وسيطات المصفوفة.Array
Array(T)
أمثلة
مثال على الاستخدام
Query
Response
Query
Response
Query
Response
arrayEnumerate
[1, 2, 3, ..., length (arr)]
تُستخدم هذه الدالة عادةً مع عبارة ARRAY JOIN. وهي تتيح احتساب شيءٍ ما
مرة واحدة فقط لكل مصفوفة بعد تطبيق ARRAY JOIN.
ويمكن أيضًا استخدام هذه الدالة في الدوال عالية الرتبة. على سبيل المثال، يمكنك استخدامها للحصول على فهارس عناصر المصفوفة التي تطابق شرطًا.
الصياغة
arr— المصفوفة المطلوب تعداد عناصرها.Array
[1, 2, 3, ..., length (arr)]. Array(UInt32)
أمثلة
مثال أساسي مع ARRAY JOIN
Query
Response
arrayEnumerateDense
arr— المصفوفة المطلوب ترقيم عناصرها.Array(T)
arr، وتشير إلى الموضع الذي يظهر فيه كل عنصر لأول مرة في المصفوفة الأصلية Array(T)
أمثلة
مثال على الاستخدام
Query
Response
arrayEnumerateDenseRanked
clear_depth— عدِّد العناصر في المستوى المحدد كلٌّ على حدة. يجب أن تكون قيمته أقل من أو تساويmax_arr_depth.UInt*arr— مصفوفة متعددة الأبعاد N المطلوب تعدادها.Array(T)max_array_depth— الحد الأقصى للعمق الفعّال. يجب أن يكون أقل من أو يساوي عمقarr.UInt*
Array
أمثلة
الاستخدام الأساسي
Query
Response
Query
Response
Query
Response
arrayEnumerateUniq
ARRAY JOIN وتجميع عناصر المصفوفة.
يمكن للدالة قبول عدة مصفوفات بالحجم نفسه كوسيطات. في هذه الحالة، يُحدَّد التفرد وفقًا لـ Tuple المكوَّن من العناصر الواقعة في المواضع نفسها عبر جميع المصفوفات.
الصيغة
arr1— المصفوفة الأولى المراد معالجتها.Array(T)arr2, ...— اختياري. مصفوفات إضافية بالحجم نفسه للتفرّد بحسب الـ tuple.Array(UInt32)
Array(T)
أمثلة
الاستخدام الأساسي
Query
Response
Query
Response
Query
Response
arrayEnumerateUniqRanked
clear_depth— رقّم العناصر في المستوى المحدد كلٌّ على حدة. عدد صحيح موجب أصغر من أو يساويmax_arr_depth.UInt*arr— مصفوفة متعددة الأبعاد المطلوب ترقيمها.Array(T)max_array_depth— الحد الأقصى للعمق الفعّال. عدد صحيح موجب أصغر من أو يساوي عمقarr.UInt*
arr، بحيث يبيّن كل عنصر موضعه بالنسبة إلى العناصر الأخرى ذات القيمة نفسها. Array(T)
أمثلة
المثال 1
Query
Response
Query
Response
Query
Response
Query
Response
arrayExcept
source وغير الموجودة في except، مع الحفاظ على ترتيبها الأصلي.
تُجري هذه الدالة عملية فرق بين مصفوفتين. ولكل عنصر في source، تتحقق مما إذا كان هذا العنصر موجودًا في except (باستخدام مقارنة تامة). وإذا لم يكن موجودًا، فسيُدرج في النتيجة.
تحافظ هذه العملية على الخصائص التالية:
- يُحفَظ ترتيب العناصر القادمة من
source - تُحفَظ العناصر المكررة في
sourceإذا لم تكن موجودة فيexcept - يُتعامل مع NULL بوصفه قيمة مستقلة
source— مصفوفة المصدر التي تحتوي على العناصر المطلوب تصفيتها.Array(T)except— المصفوفة التي تحتوي على العناصر المطلوب استبعادها من النتيجة.Array(T)
source لم يُعثر عليها في except. Array(T)
أمثلة
أساسي
Query
Response
Query
Response
Query
Response
Query
Response
arrayExists
1 إذا وُجد عنصر واحد على الأقل في المصفوفة المصدر بحيث تُعيد func(x[, y1, y2, ... yN]) القيمة true. وإلا، يعيد 0.
البنية
func(x[, y1, ..., yN])— دالة لامدا تعمل على عناصر المصفوفة المصدر (x) ومصفوفات الشرط (y).Lambda functionsource_arr— المصفوفة المصدر المطلوب معالجتها.Array(T)[, cond1_arr, ... , condN_arr]— اختياري. عدد N من مصفوفات الشرط التي توفّر وسيطات إضافية لدالة لامدا.Array(T)
1 إذا أعادت دالة لامدا القيمة true لعنصر واحد على الأقل، و0 خلاف ذلك UInt8
أمثلة
مثال للاستخدام
Query
Response
arrayFill
arrayFill مصفوفة المصدر بالتسلسل من العنصر الأول
إلى العنصر الأخير، مع تقييم شرط دالة lambda عند كل موضع باستخدام عناصر من
مصفوفة المصدر ومصفوفات الشرط. عندما يُقيَّم شرط دالة lambda إلى false عند
الموضع i، تستبدل الدالة ذلك العنصر بالعنصر الموجود عند الموضع i-1
من الحالة الحالية للمصفوفة. ويُحفَظ العنصر الأول دائمًا
بغضّ النظر عن أي شرط.
البنية
func(x [, y1, ..., yN])— دالة لامداfunc(x [, y1, y2, ... yN]) → F(x [, y1, y2, ... yN])تعمل على عناصر المصفوفة المصدر (x) ومصفوفات الشروط (y).دالة لامداsource_arr— المصفوفة المصدر المطلوب معالجتها.دالة لامدا[, cond1_arr, ... , condN_arr]— اختياري. عدد N من مصفوفات الشروط التي توفّر وسائط إضافية لدالة لامدا.Array(T)
Array(T)
أمثلة
مثال باستخدام مصفوفة واحدة
Query
Response
Query
Response
arrayFilter
func(x[, y1, ..., yN])— دالة لامبدا تعمل على عناصر مصفوفة المصدر (x) ومصفوفات الشرط (y).Lambda functionsource_arr— مصفوفة المصدر المراد معالجتها.Array(T)[, cond1_arr, ... , condN_arr]— اختياري. عدد N من مصفوفات الشرط التي توفّر وسائط إضافية لدالة لامبدا.Array(T)
Array(T)
أمثلة
مثال 1
Query
Response
Query
Response
arrayFirst
func(x[, y1, y2, ... yN]) القيمة true، وإلا فتُعيد القيمة الافتراضية.
الصيغة
func(x[, y1, ..., yN])— دالة لامدا تعمل على عناصر مصفوفة المصدر (x) ومصفوفات الشرط (y). دالة لامدا. -source_arr— مصفوفة المصدر المطلوب معالجتها.Array(T). -[, cond1_arr, ... , condN_arr]— اختياري. عدد N من مصفوفات الشرط التي توفّر وسائط إضافية لدالة لامدا.Array(T).
λ، وإلا تُعيد القيمة الافتراضية لـ T.
أمثلة
مثال على الاستخدام
Query
Response
Query
Response
arrayFirstIndex
func(x[, y1, y2, ... yN]) القيمة true، وإلا فتُرجِع ‘0’.
الصيغة
func(x[, y1, ..., yN])— دالة لامبدا تعمل على عناصر المصفوفة المصدر (x) ومصفوفات الشرط (y). دالة لامبدا. -source_arr— المصفوفة المصدر المطلوب معالجتها.Array(T). -[, cond1_arr, ... , condN_arr]— اختياري. عدد N من مصفوفات الشرط التي توفّر معاملات إضافية لدالة لامبدا.Array(T).
func مساوية لـ true، وإلا يعيد 0 UInt32
أمثلة
مثال على الاستخدام
Query
Response
Query
Response
arrayFirstOrNull
func(x[, y1, y2, ... yN]) القيمة true، وإلا فتُرجع NULL.
البنية
func(x[, y1, ..., yN])— دالة لامبدا تعمل على عناصر المصفوفة المصدر (x) والمصفوفات الشرطية (y).Lambda functionsource_arr— المصفوفة المصدر المطلوب معالجتها.Array(T)[, cond1_arr, ... , condN_arr]— اختياري. عدد N من المصفوفات الشرطية التي توفّر وسيطات إضافية لدالة لامبدا.Array(T)
func بالنسبة إليه true، وإلا فيعيد NULL.
أمثلة
مثال على الاستخدام
Query
Response
Query
Response
arrayFlatten
- تنطبق على أي مستوى من تداخل المصفوفات.
- لا تغيّر المصفوفات المسطّحة أصلًا.
flatten
الوسيطات
arr— مصفوفة متعددة الأبعاد.Array(Array(T))
Array(T)
أمثلة
مثال على الاستخدام
Query
Response
arrayFold
λ(x, x1 [, x2, x3, ... xN])— دالة لامداλ(acc, x1 [, x2, x3, ... xN]) → F(acc, x1 [, x2, x3, ... xN])، حيث تمثلFعمليةً تُطبَّق علىaccوعلى قيم المصفوفة منx، مع إعادة استخدام الناتج فيacc.Lambda functionarr1 [, arr2, arr3, ... arrN]— عدد N من المصفوفات التي تُطبَّق عليها العملية.Array(T)acc— قيمة المُجمِّع، ويكون نوعها مطابقًا لنوع الإرجاع الخاص بدالة لامدا.
acc.
أمثلة
مثال على الاستخدام
Query
Response
Query
Response
Query
Response
arrayIntersect
arrN— N من المصفوفات التي تُنشأ منها المصفوفة الجديدة.Array(T).
Array(T)
أمثلة
مثال على الاستخدام
Query
Response
arrayJaccardIndex
arr_x وarr_y من النوع Float64
أمثلة
مثال على الاستخدام
Query
Response
arrayJoin
arrayJoin صفًا يحتوي على مصفوفة وتبسطه إلى عدة صفوف، بحيث يقابل كل عنصر في المصفوفة صفٌّ واحد.
وهذا بخلاف الدوال العادية في ClickHouse التي تربط قيم الإدخال بقيم الإخراج داخل الصف نفسه،
والدوال التجميعية التي تأخذ مجموعة من الصفوف وتقوم “بضغطها” أو “اختزالها” إلى صف تلخيصي واحد
(أو إلى قيمة واحدة داخل صف تلخيصي إذا استُخدمت مع GROUP BY).
تُنسخ جميع القيم في الأعمدة كما هي، باستثناء القيم الموجودة في العمود الذي تُطبَّق عليه هذه الدالة؛
إذ تُستبدل هذه القيم بقيمة العنصر المقابل في المصفوفة.
الصياغة
unnest
الوسائط
arr— مصفوفة يُراد فردها.Array(T)
arr.
أمثلة
الاستخدام الأساسي
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
arrayLast
func(x [, y1, y2, ... yN]) القيمة true، وإلا فتُرجِع قيمة افتراضية.
الصياغة
func(x[, y1, ..., yN])— دالة لامبدا تُطبَّق على عناصر المصفوفة المصدر (x) ومصفوفات الشرط (y). دالة لامبدا. -source— المصفوفة المصدر المطلوب معالجتها.Array(T). -[, cond1, ... , condN]— اختياري. N من مصفوفات الشرط التي توفّر وسيطات إضافية لدالة لامبدا.Array(T).
func صحيحةً له، وإلا فتعيد القيمة الافتراضية لـ T.
أمثلة
مثال على الاستخدام
Query
Response
Query
Response
arrayLastIndex
func(x[, y1, y2, ... yN]) له القيمة true، وإلا فتُرجع ‘0’.
البنية
func(x[, y1, ..., yN])— دالة لامبدا تعمل على عناصر مصفوفة المصدر (x) ومصفوفات الشرط (y).Lambda functionsource_arr— مصفوفة المصدر المطلوب معالجتها.Array(T)[, cond1_arr, ... , condN_arr]— اختياري. عدد N من مصفوفات الشرط التي توفّر وسيطات إضافية لدالة لامبدا.Array(T)
func صحيحة له، وإلا يعيد 0 UInt32
أمثلة
مثال على الاستخدام
Query
Response
Query
Response
arrayLastOrNull
func(x [, y1, y2, ... yN]) القيمة true، وإلا فيُرجع NULL.
البنية
func(x [, y1, ..., yN])— دالة لامبدا تعمل على عناصر المصفوفة المصدر (x) ومصفوفات الشرط (y). دالة لامبدا. -source_arr— المصفوفة المصدر المراد معالجتها.Array(T). -[, cond1_arr, ... , condN_arr]— اختياري. عدد N من مصفوفات الشرط التي توفّر وسيطات إضافية لدالة لامبدا.Array(T).
λ له true، وإلا فتعيد NULL.
أمثلة
مثال على الاستخدام
Query
Response
Query
Response
arrayLevenshteinDistance
Float64
أمثلة
مثال للاستخدام
Query
Response
arrayLevenshteinDistanceWeighted
from— المصفوفة الأولى.Array(T). -to— المصفوفة الثانية.Array(T). -from_weights— أوزان المصفوفة الأولى.Array((U)Int*|Float*)to_weights— أوزان المصفوفة الثانية.Array((U)Int*|Float*)
Float64
أمثلة
مثال استخدام
Query
Response
arrayMap
func— دالة لامبدا تعمل على عناصر المصفوفة المصدر (x) ومصفوفات الشرط (y).Lambda functionarr— عدد N من المصفوفات المطلوب معالجتها.Array(T)
Array(T)
أمثلة
مثال على الاستخدام
Query
Response
Query
Response
arrayMax
func، فتُرجع أكبر عنصر من نتائج دالة لامدا.
الصياغة
func(x[, y1, ..., yN])— اختياري. دالة لامدا تعمل على عناصر المصفوفة المصدر (x) ومصفوفات الشروط (y).دالة لامداsource_arr— المصفوفة المصدر المطلوب معالجتها.Array(T)[, cond1_arr, ... , condN_arr]— اختياري. N من مصفوفات الشروط التي توفّر وسيطات إضافية لدالة لامدا.Array(T)
Query
Response
Query
Response
arrayMin
func، فسيُرجع أصغر عنصر من نتائج دالة لامبدا.
البنية
func(x[, y1, ..., yN])— اختياري. دالة لامبدا تعمل على عناصر مصفوفة المصدر (x) ومصفوفات الشرط (y).دالة لامبداsource_arr— مصفوفة المصدر المطلوب معالجتها.Array(T)cond1_arr, ...— اختياري. عدد N من مصفوفات الشرط التي توفّر معاملات إضافية لدالة لامبدا.Array(T)
Query
Response
Query
Response
arrayNormalizedGini
Tuple يحتوي على معاملات جيني للقيم المتوقعة، ومعامل جيني للقيم المُطبَّعة، ومعامل جيني المُطبَّع (= نسبة معاملي جيني السابقين) Tuple(Float64, Float64, Float64)
أمثلة
مثال على الاستخدام
Query
Response
arrayPartialReverseSort
arrayReverseSort، ولكنها تتضمن وسيطة limit إضافية تتيح الفرز الجزئي.
البنية
f(arr[, arr1, ... ,arrN])— دالة لامدا المطلوب تطبيقها على عناصر المصفوفةx.Lambda functionlimit— قيمة الفهرس التي يُجرى الفرز حتى الوصول إليها.(U)Int*arr— المصفوفة المطلوب فرزها.Array(T)arr1, ... ,arrN—Nمن المصفوفات الإضافية، في حال كانتfتقبل عدة وسائط.Array(T)
[1..limit] مرتبة
ترتيبًا تنازليًا. أما العناصر المتبقية (limit..N] فتكون بترتيب غير محدد.
أمثلة
simple_int
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
arrayPartialShuffle
[1..limit] مجموعة فرعية عشوائية
من المصفوفة الأصلية. أما العناصر المتبقية ضمن (limit..n] فتحتوي على العناصر غير الموجودة في النطاق [1..limit] بترتيب غير محدد.
يجب أن تكون قيمة limit ضمن النطاق [1..n]. أما القيم الواقعة خارج هذا النطاق فتعادل تنفيذ arrayShuffle بالكامل:
لن تُجسِّد هذه الدالة الثوابت.يجب أن تكون قيمة
limit ضمن النطاق [1..N]. أما القيم الواقعة خارج هذا النطاق فتعادل تنفيذ arrayShuffle بالكامل.arr— المصفوفة المراد خلط عناصرها.Array(T)seed— اختياري. البذرة المستخدمة في توليد الأرقام العشوائية. وإذا لم تُوفَّر، تُستخدم بذرة عشوائية.(U)Int*limit— اختياري. العدد الذي يُستخدم لتقييد عدد تبديلات العناصر، ضمن النطاق[1..N].(U)Int*
Array(T)
أمثلة
no_limit1
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
arrayPartialSort
arraySort، ولكنها تتضمن وسيطة limit إضافية تتيح الفرز الجزئي.
الصياغة
f(arr[, arr1, ... ,arrN])— دالة لامبدا المُطبَّقة على عناصر المصفوفةx.Lambda functionlimit— قيمة الفهرس التي سيجري الفرز حتى الوصول إليها.(U)Int*arr— المصفوفة المطلوب فرزها.Array(T)arr1, ... ,arrN— عدد N من المصفوفات الإضافية، في حال كانتfتقبل عدة وسائط.Array(T)
[1..limit] مرتبة
ترتيبًا تصاعديًا. أما العناصر المتبقية (limit..N] فتكون بترتيب غير محدد.
أمثلة
simple_int
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
arrayPopBack
arr— المصفوفة التي يُزال منها العنصر الأخير.Array(T)
arr ولكن من دون العنصر الأخير منها Array(T)
أمثلة
مثال على الاستخدام
Query
Response
arrayPopFront
arr— المصفوفة التي يُزال منها العنصر الأول.Array(T)
arr ولكن من دون العنصر الأول فيها Array(T)
أمثلة
مثال على الاستخدام
Query
Response
arrayProduct
func، فإنه يُرجِع حاصل ضرب عناصر نتائج اللامبدا.
الصياغة
func(x[, y1, ..., yN])— اختياري. دالة لامدا تعمل على عناصر مصفوفة المصدر (x) ومصفوفات الشرط (y).Lambda functionsource_arr— مصفوفة المصدر المراد معالجتها.Array(T)[, cond1_arr, ... , condN_arr]— اختياري. N من مصفوفات الشرط التي توفّر وسائط إضافية لدالة لامدا.Array(T)
Float64
أمثلة
مثال أساسي
Query
Response
Query
Response
arrayPushBack
arr— المصفوفة التي تُضاف القيمةxإلى نهايتها.Array(T)x—- قيمة واحدة تُضاف إلى نهاية المصفوفة.
Array(T).
- لا يمكن إضافة سوى الأرقام إلى مصفوفة أرقام، ولا يمكن إضافة سوى السلاسل النصية إلى مصفوفة سلاسل نصية.
- عند إضافة الأرقام، يحدّد ClickHouse تلقائيًا نوع
xوفقًا لنوع بيانات المصفوفة. - يمكن أن تكون
NULL. تضيف الدالة عنصرًا من نوعNULLإلى المصفوفة، ويتحوّل نوع عناصر المصفوفة إلىNullable.
arr ولكن مع إضافة القيمة x إلى نهاية المصفوفة Array(T)
أمثلة
مثال على الاستخدام
Query
Response
arrayPushFront
arr— المصفوفة التي تُضاف القيمةxإلى نهايتها.Array(T). -x—- قيمة مفردة تُضاف إلى بداية المصفوفة.
Array(T).
- لا يمكن إضافة سوى الأرقام إلى مصفوفة أرقام، ولا يمكن إضافة سوى السلاسل النصية إلى مصفوفة سلاسل نصية.
- عند إضافة أرقام، يحدّد ClickHouse تلقائيًا نوع
xوفقًا لنوع بيانات المصفوفة. - يمكن أن تكون
NULL. تضيف الدالة عنصرNULLإلى المصفوفة، ويتحوّل نوع عناصر المصفوفة إلىNullable.
arr، ولكن مع قيمة إضافية x في بداية المصفوفة Array(T)
أمثلة
مثال على الاستخدام
Query
Response
arrayROCAUC
arrayAUC
الوسائط
scores— الدرجات التي ينتجها نموذج التنبؤ.Array((U)Int*)أوArray(Float*)labels— تسميات العينات، وعادةً تكون 1 للعينة الإيجابية و0 للعينة السلبية.Array((U)Int*)أوEnumscale— اختياري. يحدد ما إذا كان سيُرجِع المساحة المُطبَّعة. إذا كانت القيمة false، فسيُرجِع بدلًا من ذلك المساحة تحت منحنى TP (الإيجابيات الحقيقية) × FP (الإيجابيات الكاذبة). القيمة الافتراضية: true.Boolpartial_offsets—- مصفوفة من أربعة أعداد صحيحة غير سالبة تُستخدم لحساب مساحة جزئية تحت منحنى ROC (وهو ما يعادل شريطًا رأسيًا في فضاء ROC) بدلًا من AUC بالكامل. يفيد هذا الخيار في الحساب الموزع لـ ROC AUC. يجب أن تحتوي المصفوفة على العناصر التالية [
higher_partitions_tp,higher_partitions_fp,total_positives,total_negatives]. Array من Integers غير سالبة. اختياري.higher_partitions_tp: عدد التسميات الإيجابية في الأقسام ذات الدرجات الأعلى.higher_partitions_fp: عدد التسميات السلبية في الأقسام ذات الدرجات الأعلى.total_positives: العدد الإجمالي للعينات الإيجابية في مجموعة البيانات بالكامل.total_negatives: العدد الإجمالي للعينات السلبية في مجموعة البيانات بالكامل.
عند استخدام
arr_partial_offsets، يجب أن يكون كل من arr_scores و arr_labels مجرد قسم من مجموعة البيانات بالكامل، وأن يحتوي على نطاق من الدرجات.
يجب تقسيم مجموعة البيانات إلى أقسام متجاورة، بحيث يحتوي كل قسم على مجموعة فرعية من البيانات تقع درجاتها ضمن نطاق محدد.
على سبيل المثال:- قد يحتوي أحد الأقسام على جميع الدرجات ضمن النطاق [0, 0.5).
- وقد يحتوي قسم آخر على الدرجات ضمن النطاق [0.5, 1.0].
Float64
أمثلة
مثال على الاستخدام
Query
Response
arrayRandomSample
samples عنصرًا عشوائيًا من مصفوفة الإدخال. وإذا كانت قيمة samples أكبر من حجم مصفوفة الإدخال، فسيُقتصر حجم العينة على حجم المصفوفة، أي ستُعاد جميع عناصر المصفوفة، ولكن من دون ضمان ترتيبها. ويمكن للدالة التعامل مع كلٍّ من المصفوفات المسطحة والمصفوفات المتداخلة.
البنية
arr— مصفوفة الإدخال أو المصفوفة متعددة الأبعاد التي تُؤخذ منها عيّنة من العناصر.Array(T)samples— عدد العناصر التي ستُدرج في العيّنة العشوائية.(U)Int*
Array(T)
أمثلة
مثال على الاستخدام
Query
Response
Query
Response
arrayReduce
'max'، 'sum'.
عند استخدام الدوال التجميعية ذات المعلمات، تُحدَّد المعلمة بعد اسم الدالة بين قوسين 'uniqUpTo(6)'.
البنية
agg_f— اسم دالة تجميع، ويجب أن يكون قيمة ثابتة.Stringarr1[, arr2, ... , arrN]—Nمصفوفات تقابل وسيطاتagg_f.Array(T)
Query
Response
Query
Response
Query
Response
arrayReduceInRanges
arrayReduce(agg_func, arraySlice(arr1, index, length), ...) عدة مرات.
الصياغة
agg_f— اسم الدالة التجميعية المراد استخدامها.Stringranges— النطاق الذي سيُجرى عليه التجميع. وهي مصفوفة من قيم Tuple،(i, r)، تحتوي على الفهرسiالذي يبدأ منه التجميع، والنطاقrالذي سيُجرى عليه التجميع.Array(T)أوTuple(T)arr1[, arr2, ... ,arrN]— عدد N من المصفوفات كوسيطات للدالة التجميعية.Array(T)
Array(T)
أمثلة
مثال على الاستخدام
Query
Response
arrayRemove
array_remove
الوسيطات
arr— Array(T) -elem— T
Array(T)
أمثلة
مثال 1
Query
Response
Query
Response
arrayResize
arr— المصفوفة المطلوب تغيير حجمها.Array(T)size— -الطول الجديد للمصفوفة. إذا كانتsizeأصغر من الحجم الأصلي للمصفوفة، فسيتم اقتطاع المصفوفة من اليمين. إذا كانتsizeأكبر من الحجم الأصلي للمصفوفة، فسيتم تمديد المصفوفة إلى اليمين باستخدام قيمextenderأو القيم الافتراضية لنوع بيانات عناصر المصفوفة.extender— القيمة المستخدمة لتمديد المصفوفة. يمكن أن تكونNULL.
size. Array(T)
أمثلة
مثال 1
Query
Response
Query
Response
arrayReverse
تؤدي الدالة
reverse(arr) الوظيفة نفسها، لكنها تعمل أيضًا على أنواع بيانات أخرى
بالإضافة إلى المصفوفات.arr— المصفوفة المراد عكسها.Array(T)
Array(T)
أمثلة
مثال للاستخدام
Query
Response
arrayReverseFill
arrayReverseFill مصفوفة المصدر تسلسليًا من العنصر
الأخير إلى الأول، مع تقييم شرط lambda عند كل موضع باستخدام عناصر
من مصفوفة المصدر ومصفوفات الشرط. عندما يُقيَّم الشرط إلى القيمة false عند
الموضع i، تستبدل الدالة ذلك العنصر بالعنصر الموجود عند الموضع i+1
من الحالة الحالية للمصفوفة. ويُحفَظ العنصر الأخير دائمًا
بغض النظر عن أي شرط.
البنية
func(x[, y1, ..., yN])— دالة لامبدا تعمل على عناصر المصفوفة المصدر (x) ومصفوفات الشرط (y).دالة لامبداsource_arr— المصفوفة المصدر المراد معالجتها.Array(T)[, cond1_arr, ... , condN_arr]— اختياري. N من مصفوفات الشرط التي توفّر وسائط إضافية لدالة لامبدا.Array(T)
Array(T)
أمثلة
مثال باستخدام مصفوفة واحدة
Query
Response
Query
Response
arrayReverseSort
f، فستُرتَّب المصفوفة المعطاة وفقًا لنتيجة
تطبيق الدالة على عناصر المصفوفة، ثم تُعكس المصفوفة بعد ترتيبها.
إذا كانت f تقبل عدة وسائط، فستُمرَّر عدة مصفوفات إلى الدالة arrayReverseSort
بحيث تقابل وسائط func هذه المصفوفات.
إذا كانت المصفوفة المطلوب ترتيبها تحتوي على -Inf أو NULL أو NaN أو Inf، فسيكون ترتيبها كما يلي:
-InfInfNaNNULL
arrayReverseSort دالة عالية الرتبة.
الصياغة
f(y1[, y2 ... yN])— دالة لامبدا تُطبَّق على عناصر المصفوفةx. -arr— مصفوفة مطلوب فرزها.Array(T)-arr1, ..., arrN— اختياري. عدد N من المصفوفات الإضافية، في حال كانتfتقبل عدة وسيطات.
x مرتبةً ترتيبًا تنازليًا إذا لم يتم توفير دالة لامبدا، وإلا
فتعيد مصفوفة مرتبة وفقًا لمنطق دالة لامبدا المقدَّمة، ثم معكوسة. Array(T).
أمثلة
مثال 1
Query
Response
Query
Response
arrayReverseSplit
func(x[, y1, ..., yN]) قيمة غير صفرية، تُقسَّم المصفوفة إلى يمين ذلك العنصر. ولا تُقسَّم المصفوفة بعد العنصر الأخير.
الصياغة
func(x[, y1, ..., yN])— دالة لامدا تعمل على عناصر المصفوفة المصدر (x) ومصفوفات الشرط (y).Lambda functionsource_arr— المصفوفة المصدر المطلوب معالجتها.Lambda function[, cond1_arr, ... , condN_arr]— اختياري. عدد N من مصفوفات الشرط التي توفّر وسائط إضافية لدالة لامدا.Array(T)
Array(Array(T))
أمثلة
مثال على الاستخدام
Query
Response
arrayRotateLeft
n على أنها تدوير إلى اليمين بمقدار القيمة المطلقة للتدوير.
الصياغة
arr— المصفوفة التي تُدوَّر عناصرها.Array(T). -n— عدد العناصر المراد تدويرها.(U)Int8/16/32/64.
Array(T)
أمثلة
مثال على الاستخدام
Query
Response
Query
Response
arrayRotateRight
n على أنها تدوير إلى اليسار بمقدار القيمة المطلقة.
البنية
arr— المصفوفة المطلوب تدوير عناصرها.Array(T). -n— عدد العناصر المطلوب تدويرها.(U)Int8/16/32/64.
Array(T)
أمثلة
مثال على الاستخدام
Query
Response
Query
Response
arrayShiftLeft
arr— المصفوفة المطلوب إزاحة عناصرها.Array(T). -n— عدد العناصر المطلوب إزاحتها.(U)Int8/16/32/64. -default— اختياري. القيمة الافتراضية للعناصر الجديدة.
Array(T)
أمثلة
مثال على الاستخدام
Query
Response
Query
Response
Query
Response
arrayShiftRight
arr— المصفوفة المطلوب إزاحة عناصرها.Array(T)n— عدد العناصر المراد إزاحتها.(U)Int8/16/32/64default— اختياري. القيمة الافتراضية للعناصر الجديدة.
Array(T)
أمثلة
مثال على الاستخدام
Query
Response
Query
Response
Query
Response
arrayShingles
ngrams في السلاسل النصية)، أي مصفوفات فرعية متتالية بطول محدد من مصفوفة الإدخال.
البنية
shingles المُنشأة Array(T)
أمثلة
مثال على الاستخدام
Query
Response
arrayShuffle
لن تقوم هذه الدالة بتجسيد الثوابت.
arr— المصفوفة المراد خلطها.Array(T)seed (optional)— اختياري. البذرة المستخدمة في توليد الأرقام العشوائية. وإذا لم تُوفَّر، تُستخدم بذرة عشوائية.(U)Int*
Array(T)
أمثلة
مثال بدون seed (نتائج غير مستقرة)
Query
Response
Query
Response
arraySimilarity
0 إلى 1 استنادًا إلى مسافة Levenshtein الموزونة.
البنية
from— المصفوفة الأولىArray(T)to— المصفوفة الثانيةArray(T)from_weights— الأوزان الخاصة بالمصفوفة الأولى.Array((U)Int*|Float*)to_weights— الأوزان الخاصة بالمصفوفة الثانية.Array((U)Int*|Float*)
0 إلى 1 استنادًا إلى مسافة Levenshtein الموزونة Float64
أمثلة
مثال على الاستخدام
Query
Response
arraySlice
NULL.
الصياغة
arr— المصفوفة المطلوب أخذ شريحة منها.Array(T)offset— الإزاحة من طرف المصفوفة. تشير القيمة الموجبة إلى إزاحة من اليسار، وتشير القيمة السالبة إلى إزاحة من اليمين. يبدأ ترقيم عناصر المصفوفة من1.(U)Int*length— طول الشريحة المطلوبة. إذا حددت قيمة سالبة، فستُرجع الدالة شريحة مفتوحة[offset, array_length - length]. وإذا حذفت القيمة، فستُرجع الدالة الشريحة[offset, the_end_of_array].(U)Int*
length عنصرًا بدءًا من offset المحدد Array(T)
أمثلة
مثال على الاستخدام
Query
Response
arraySort
f، فإن ترتيب الفرز يتحدّد بناءً على نتيجة
تطبيق دالة لامبدا على كل عنصر من عناصر المصفوفة.
إذا كانت دالة لامبدا تقبل عدة وسائط، فسيُمرَّر إلى الدالة arraySort عدة
مصفوفات تقابل وسائط f.
إذا كانت المصفوفة المطلوب فرزها تحتوي على -Inf أو NULL أو NaN أو Inf، فسيجري فرزها بالترتيب التالي:
-InfInfNaNNULL
arraySort هي دالة عالية الرتبة.
البنية
f(y1[, y2 ... yN])— دالة لامدا تُطبَّق على عناصر المصفوفةx. -arr— المصفوفة المطلوب فرزها.Array(T)-arr1, ..., arrN— اختياري. عدد N من المصفوفات الإضافية، وذلك عندما تقبلfعدة وسائط.
arr مرتبةً ترتيبًا تصاعديًا إذا لم يتم توفير دالة لامدا، وإلا
فإنها تُعيد مصفوفة مرتبة وفقًا للمنطق الذي تحدده دالة لامدا المُقدَّمة. Array(T).
أمثلة
مثال 1
Query
Response
Query
Response
Query
Response
arraySplit
func(x [, y1, ..., yN]) قيمةً غير صفرية، ستُقسَّم المصفوفة إلى يسار ذلك العنصر. لن تُقسَّم المصفوفة قبل العنصر الأول.
الصياغة
func(x[, y1, ..., yN])— دالة لامبدا تُطبَّق على عناصر المصفوفة المصدر (x) ومصفوفات الشروط (y).دالة لامبدا. -source_arr— المصفوفة المصدر المطلوب تقسيمهاArray(T). -[, cond1_arr, ... , condN_arr]— اختياري. عدد N من مصفوفات الشروط التي توفّر وسائط إضافية لدالة لامبدا.Array(T).
Array(Array(T))
أمثلة
مثال على الاستخدام
Query
Response
arraySum
func، فإنه يعيد مجموع عناصر نتائج لامبدا.
البنية
func(x[, y1, ..., yN])— اختياري. دالة لامبدا تعمل على عناصر المصفوفة المصدر (x) ومصفوفات الشرط (y).دالة لامبداsource_arr— المصفوفة المصدر المطلوب معالجتها.Array(T), cond1_arr, ... , condN_arr]— اختياري. عدد N من مصفوفات الشرط التي توفّر وسيطات إضافية لدالة لامبدا.Array(T)
Query
Response
Query
Response
arraySymmetricDifference
يُعرَّف الفرق المتماثل لأكثر من مجموعتَين رياضياً
بأنه مجموعة جميع عناصر الإدخال التي تظهر في عدد فردي من مجموعات الإدخال.
وعلى النقيض من ذلك، تُرجع الدالة
arraySymmetricDifference ببساطة مجموعة عناصر الإدخال التي لا تظهر في جميع مجموعات الإدخال.arrN— N من المصفوفات التي ستُنشأ منها المصفوفة الجديدة.Array(T).
Array(T)
أمثلة
مثال على الاستخدام
Query
Response
arrayTopK
K عناصر من مصفوفة الإدخال، مرتبة ترتيبًا تنازليًا.
إذا جرى تحديد lambda function f، فتُقارَن العناصر بناءً على ناتج تطبيق f على كل عنصر.
إذا كانت f تقبل عدة وسيطات، فستُمرَّر مصفوفات إضافية إلى arrayTopK، وتكون عناصرها
مطابقةً لوسيطات f.
تُتخطى القيم NULL ولا تظهر في النتيجة. ويكون حجم النتيجة بحد أقصى K
وقد يكون أصغر إذا كانت مصفوفة الإدخال تحتوي على عدد من العناصر غير NULL أقل من K.
ويكون نوع عنصر النتيجة هو النظير غير القابل لـ NULL لنوع عنصر الإدخال.
تُعد arrayTopK دالة من الرتبة العليا.
انظر أيضًا إلى arrayBottomK، التي تُرجِع أصغر K عناصر بدلًا من ذلك.
الصياغة
f(arr[, arr1, ... ,arrN])— اختياري. دالة لامبدا لحساب مفتاح الترتيب لكل عنصر.دالة لامبداK— عدد أكبر العناصر المراد إرجاعها.(U)Int8/16/32/64arr— مصفوفة.Array(T)arr1, ... ,arrN— N من المصفوفات الإضافية، إذا كانتfتقبل عدة وسائط.Array(T)
K من عناصر arr ذات القيم الأكبر (أو أكبر نواتج دالة لامبدا)، مرتبة ترتيبًا تنازليًا.
تُتخطى قيم NULL. ويكون نوع عنصر المصفوفة المعادة هو T حتى عندما يكون الإدخال من النوع Nullable(T).
أمثلة
simple_int
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
arrayTranspose
arr— مصفوفة ثنائية الأبعاد يُراد نقلها. يجب أن يكون طول جميع المصفوفات الداخلية متماثلًا.Array(Array(T))
[i][j] في النتيجة مساويًا للعنصر [j][i] في المُدخل. Array(Array(T))
أمثلة
مصفوفة مربعة
Query
Response
Query
Response
Query
Response
arrayUnion
arrN— عدد N من المصفوفات التي تُنشأ منها المصفوفة الجديدة.Array(T)
Array(T)
أمثلة
مثال على الاستخدام
Query
Response
arrayUniq
SELECT arrayUniq([1,2], [3,4], [5,6]) الـ tuples التالية:
- الموضع 1: (1,3,5)
- الموضع 2: (2,4,6)
2.
يجب أن تكون جميع المصفوفات المُمرَّرة بالطول نفسه.
الصياغة
arr1— المصفوفة التي يُراد حساب عدد العناصر الفريدة فيها.Array(T)[, arr2, ..., arrN]— اختياري. مصفوفات إضافية تُستخدم لحساب عدد Tuples الفريدة المتكوّنة من العناصر الموجودة في المواضع المناظرة عبر عدة مصفوفات.Array(T)
UInt32
أمثلة
وسيط واحد
Query
Response
Query
Response
arrayWithConstant
length مملوءة بالقيمة الثابتة x.
الصياغة
length— عدد العناصر في المصفوفة.(U)Int*x— قيمة العناصرNفي المصفوفة، ويمكن أن تكون من أي نوع.
N عنصرًا، قيمة كل منها x. Array(T)
أمثلة
مثال على الاستخدام
Query
Response
arrayZip
arr1, arr2, ... , arrN— عدد N من المصفوفات لدمجها في مصفوفة واحدة.Array(T)
Array(T)
أمثلة
مثال على الاستخدام
Query
Response
arrayZipUnaligned
arr1, arr2, ..., arrN— عدد N من المصفوفات لدمجها في مصفوفة واحدة.Array(T)
Array(T) أو Tuple(T1, T2, ...)
أمثلة
مثال على الاستخدام
Query
Response
countEqual
x. وهي مكافئة لـ arrayCount(elem -> elem = x, arr).
تُعامَل عناصر NULL كقيم منفصلة.
البنية
arr— المصفوفة المراد البحث فيها.Array(T)x— القيمة المطلوب عدّها في المصفوفة. أي نوع.
x UInt64
أمثلة
مثال على الاستخدام
Query
Response
empty
يمكن تحسين أداء هذه الدالة بتفعيل إعداد
optimize_functions_to_subcolumns. عند ضبط optimize_functions_to_subcolumns = 1، تقرأ الدالة فقط العمود الفرعي size0 بدلًا من قراءة عمود المصفوفة بالكامل ومعالجته. ويتحوّل الاستعلام SELECT empty(arr) FROM TABLE; إلى SELECT arr.size0 = 0 FROM TABLE;.arr— مصفوفة الإدخال.Array(T)
1 للمصفوفة الفارغة، أو 0 للمصفوفة غير الفارغة UInt8
أمثلة
مثال استخدام
Query
Response
emptyArrayDate
- لا شيء.
Array(T)
أمثلة
مثال على الاستخدام
Query
Response
emptyArrayDateTime
- لا شيء.
Array(T)
أمثلة
مثال على الاستخدام
Query
Response
emptyArrayFloat32
- لا شيء.
Array(T)
أمثلة
مثال على الاستخدام
Query
Response
emptyArrayFloat64
- لا شيء.
Array(T)
أمثلة
مثال على الاستخدام
Query
Response
emptyArrayInt16
- لا شيء.
Int16. Array(T)
أمثلة
مثال على الاستخدام
Query
Response
emptyArrayInt32
- لا شيء.
Array(T)
أمثلة
مثال للاستخدام
Query
Response
emptyArrayInt64
- لا شيء.
Array(T)
أمثلة
مثال على الاستخدام
Query
Response
emptyArrayInt8
- لا شيء.
Array(T)
أمثلة
مثال للاستخدام
Query
Response
emptyArrayString
- لا شيء.
Array(T)
أمثلة
مثال على الاستخدام
Query
Response
emptyArrayToSingle
arr— مصفوفة فارغة.Array(T)
Array(T)
أمثلة
مثال أساسي
Query
Response
emptyArrayUInt16
- لا شيء.
Array(T)
أمثلة
مثال على الاستخدام
Query
Response
emptyArrayUInt32
- لا توجد.
Array(T)
أمثلة
مثال على الاستخدام
Query
Response
emptyArrayUInt64
- لا شيء.
Array(T)
أمثلة
مثال على الاستخدام
Query
Response
emptyArrayUInt8
- لا شيء.
Array(T)
أمثلة
مثال على الاستخدام
Query
Response
has
has(constant_array, column) يعمل مثل column IN (constant_array) ويمكنه استخدام المفتاح الأساسي وData-skipping indexes لتحسين الأداء. على سبيل المثال، يمكن أن يستفيد has([1, 10, 100], id) من فهرس المفتاح الأساسي إذا كان id جزءًا من PRIMARY KEY.
ينطبق هذا التحسين أيضًا عندما يكون العمود مغلفًا داخل دوال رتيبة (على سبيل المثال، has([...], toDate(ts))).
البنية
haystack— مصفوفة الإدخال أو الخريطة أو JSON.ArrayأوMapأوJSONneedle— القيمة المطلوب البحث عنها (عنصر في المصفوفة، أو مفتاح في الخريطة، أو سلسلة مسار في JSON).
1 إذا كان haystack يحتوي على needle المحددة، وإلا فيعيد 0. UInt8
أمثلة
الاستخدام الأساسي لـ Array
Query
Response
Query
Response
Query
Response
Query
Response
hasAll
- المصفوفة الفارغة هي مجموعة فرعية من أي مصفوفة.
- تُعالَج
NULLعلى أنها قيمة. - لا يهم ترتيب القيم في أيٍّ من المصفوفتين.
set— مصفوفة من أي نوع تحتوي على مجموعة من العناصر.Array(T)subset— مصفوفة من أي نوع تشترك معsetفي نوع أسمى مشترك، وتحتوي على العناصر المطلوب اختبار ما إذا كانت مجموعة فرعية منset.Array(T)
1، إذا كانتsetتحتوي على جميع العناصر الموجودة فيsubset.0، بخلاف ذلك.
NO_COMMON_TYPE إذا كانت عناصر set وsubset لا تشترك في نوع أسمى مشترك.
أمثلة
المصفوفات الفارغة
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
hasAny
- تُعامَل
Nullعلى أنها قيمة. - لا يهم ترتيب القيم في أيٍّ من المصفوفتين.
arr_x— مصفوفة من أي نوع تضم مجموعة من العناصر.Array(T)arr_y— مصفوفة من أي نوع تشترك مع المصفوفةarr_xفي نوع أعلى مشترك.Array(T)
1، إذا كان لدىarr_xوarr_yعنصر واحد متشابه على الأقل.0، بخلاف ذلك.
NO_COMMON_TYPE إذا كان أي عنصر من عناصر المصفوفتين لا يشترك في نوع أعلى مشترك.
أمثلة
إحدى المصفوفتين فارغة
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
hasSubstr
1 إذا وفقط إذا كان array1 = بادئة + array2 + لاحقة.
بعبارة أخرى، تتحقق الدالة مما إذا كانت جميع عناصر array2 موجودة في array1 كما في الدالة hasAll.
بالإضافة إلى ذلك، تتحقق من أن العناصر تظهر بالترتيب نفسه في كلٍّ من array1 وarray2.
- تُرجع الدالة
1إذا كانت array2 فارغة. - تُعامَل
NULLعلى أنها قيمة. بعبارة أخرى، تُرجعhasSubstr([1, 2, NULL, 3, 4], [2,3])القيمة0. ومع ذلك، تُرجعhasSubstr([1, 2, NULL, 3, 4], [2,NULL,3])القيمة1 - ترتيب القيم في كلتا المصفوفتين مهم.
NO_COMMON_TYPE إذا كان أي عنصر من عناصر المصفوفتين لا يشترك في نوع أعلى مشترك.
البنية
arr1— مصفوفة من أي نوع تضم مجموعة من العناصر.Array(T)arr2— مصفوفة من أي نوع تضم مجموعة من العناصر.Array(T)
1 إذا كانت المصفوفة arr1 تحتوي على المصفوفة arr2، وإلا فتُرجِع 0. UInt8
أمثلة
كلتا المصفوفتين فارغتان
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
indexOf
0.
تُعامَل العناصر المعيّنة إلى NULL على أنها قيم عادية.
البنية
x في arr (مرقّمًا بدءًا من 1) إذا كان موجودًا. وإلا، يُرجع 0. UInt64
أمثلة
مثال أساسي
Query
Response
Query
Response
indexOfAssumeSorted
1) إذا كان موجودًا في المصفوفة.
إذا لم تحتوي المصفوفة على القيمة المطلوب البحث عنها، فستُرجِع الدالة 0.
بخلاف الدالة
indexOf، تفترض هذه الدالة أن المصفوفة مرتبة ترتيبًا
تصاعديًا. وإذا لم تكن المصفوفة مرتبة، فالنتائج غير معرّفة.arr— مصفوفة مرتبة للبحث فيها.Array(T)x— قيمة أول عنصر مطابق فيarrالمرتبة يُراد إرجاع فهرسه.UInt64
x في arr إذا كانت موجودة. وإلا، يعيد 0. UInt64
أمثلة
مثال أساسي
Query
Response
kql_array_sort_asc
array1— المصفوفة المراد فرزها.Array(T)array2— اختياري. مصفوفات إضافية لإعادة ترتيبها وفقًا لترتيب فرزarray1.Array(T)nulls_last— اختياري. قيمة منطقية تشير إلى ما إذا كان يجب أن تظهر قيم NULL في النهاية. القيمة الافتراضية هي true.UInt8
Tuple(Array, ...)
أمثلة
الاستخدام الأساسي
Query
Response
kql_array_sort_desc
array1— المصفوفة المطلوب فرزها.Array(T)array2— مصفوفات إضافية اختيارية يُعاد ترتيبها وفقًا لترتيب فرزarray1.Array(T)nulls_last— قيمة منطقية اختيارية تشير إلى ما إذا كان ينبغي أن تظهر قيمNULLأخيرًا. القيمة الافتراضية هيtrue.UInt8
Tuple(Array, ...)
أمثلة
الاستخدام الأساسي
Query
Response
length
- بالنسبة إلى وسيطات String أو FixedString: يحسب عدد البايتات في السلسلة النصية.
- بالنسبة إلى وسيطات Array: يحسب عدد العناصر في المصفوفة.
- إذا طُبِّق على وسيطة FixedString، فإن الدالة تكون تعبيرًا ثابتًا.
CARDINALITY, OCTET_LENGTH
الوسيطات
x— القيمة التي يُحسَب لها عدد البايتات (في String/FixedString) أو عدد العناصر (في Array).StringأوFixedStringأوArray(T)
x / عدد العناصر في المصفوفة x UInt64
أمثلة
مثال على String
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
notEmpty
يمكن تحسينها عبر تمكين الإعداد
optimize_functions_to_subcolumns. عند ضبط optimize_functions_to_subcolumns = 1، تقرأ الدالة العمود الفرعي size0 فقط بدلًا من قراءة عمود المصفوفة بالكامل ومعالجته. ويتحوّل الاستعلام SELECT notEmpty(arr) FROM table إلى SELECT arr.size0 != 0 FROM TABLE.arr— مصفوفة الإدخال.Array(T)
1 للمصفوفة غير الفارغة، أو 0 للمصفوفة الفارغة UInt8
أمثلة
مثال على الاستخدام
Query
Response
range
start إلى end - 1 بخطوة step.
الأنواع المدعومة هي:
-
UInt8/16/32/64 -
Int8/16/32/64] -
يجب أن تكون جميع الوسائط
startوendوstepمن أحد الأنواع المدعومة أعلاه. وستكون عناصر المصفوفة المُعادة من نوع أعم مشتق من أنواع الوسائط. -
يُطرَح استثناء إذا أعادت الدالة مصفوفة يتجاوز طولها الإجمالي عدد العناصر المحدد في الإعداد
function_range_max_elements_in_block. -
يعيد
NULLإذا كان أي وسيط من النوع Nullable(nothing). ويُطرَح استثناء إذا كانت قيمة أي وسيط هيNULL(من النوع Nullable(T)).
start— اختياري. العنصر الأول في المصفوفة. مطلوب إذا استُخدمstep. القيمة الافتراضية:0. -end— مطلوب. الرقم الذي تُنشأ المصفوفة قبله. -step— اختياري. يحدّد مقدار الزيادة بين كل عنصر في المصفوفة. القيمة الافتراضية:1.
start حتى end - 1 بخطوة step. Array(T)
أمثلة
مثال على الاستخدام
Query
Response
replicate
arr، مملوءةً بالقيمة x. Array(T)
أمثلة
مثال على الاستخدام
Query
Response
reverse
Query
Response
Query
Response