Skip to main content

المقدمة

يُعدّ تصفية جدول في ClickHouse باستخدام عمود مصفوفي مهمة شائعة، ويوفّر المنتج العديد من الدوال للتعامل مع الأعمدة من نوع Array. في هذه المقالة، سنركّز على تصفية جدول باستخدام عمود مصفوفي، لكن الفيديو أدناه يستعرض أيضًا العديد من الدوال الأخرى المرتبطة بالمصفوفات:

مثال

سنستخدم مثالًا لجدول يضم عمودين هما tags_string وtags_int، ويحتويان على مصفوفة من السلاسل النصية ومصفوفة من الأعداد الصحيحة، على الترتيب.
  • أنشئ قاعدة بيانات وجدولًا تجريبيين.
  • أنشئ جدولًا تجريبيًا
  • أدرِج بعض البيانات التجريبية في الجدول.
صفِّ الجدول باستخدام الدالة has(arr, elem) لإرجاع الصفوف التي تحتوي فيها arr على العنصر elem. صفِّ الجدول لإرجاع الصفوف التي تحتوي فيها tags_string على العنصر tag1.
استخدم الدالة hasAll(arr, elems) لإرجاع الصفوف التي تكون فيها جميع العناصر في المصفوفة elems موجودة ضمن المصفوفة arr. قم بتصفية الجدول لإرجاع الصفوف التي تكون فيها جميع العناصر في المصفوفة tags_string موجودة ضمن المصفوفة ['tag1', 'tag2'].
استخدم الدالة hasAny(arr, elems) لإرجاع الصفوف التي تحتوي فيها المصفوفة arr على عنصر واحد على الأقل من المصفوفة elems. صفِّ الجدول لإرجاع الصفوف التي تحتوي فيها المصفوفة tags_string على عنصر واحد على الأقل من المصفوفة ['tag1', 'tag2'].
يمكننا استخدام دالة لامبدا لتصفية الجدول باستخدام الدالة arrayExists(lambda, arr). صفِّ الجدول لإرجاع الصفوف التي تحتوي فيها المصفوفة tags_int على عنصر واحد على الأقل أكبر من 3.
آخر تعديل في ١٤ أغسطس ٢٠٢٦