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

استخدام التجميعات المُفلترة

يوفّر ClickHouse طريقة بسيطة وواضحة لكتابة التجميعات المُفلترة. على سبيل المثال، قارن بين الطريقة القياسية في SQL لكتابة التجميعات المُفلترة (والتي تعمل جيدًا في ClickHouse) وبين الصياغة المختصرة التي تستخدم -If مركِّب دالة التجميع، والذي يمكن إلحاقه بأي دالة تجميع:
--standard SQL
SELECT
   avg(number)
FILTER (WHERE number > 50)
FROM numbers(100)

--ClickHouse using an aggregate combinator
SELECT
   avgIf(number, number > 50)
FROM numbers(100)
وبالمثل، يوجد المُركِّب التجميعي -Distinct:
--standard SQL
SELECT avg(DISTINCT number)

--ClickHouse using an aggregate combinator
SELECT avgDistinct(number)
لماذا تُعدّ التجميعات المُفلترة مهمة؟ لأنها تتيح لك تنفيذ ميزة “مقارنة الشرائح” في خدمات تحليلات الويب. على سبيل المثال:
WITH
   Region = 'us' AS segment1,
   Browser = 'Chrome' AS segment2
SELECT
   uniqIf(UserID, segment1),
   uniqIf(UserID, segment2)
WHERE segment1 OR segment2
اطّلع على صفحة مُركِّب دوال التجميع في الوثائق لمزيد من التفاصيل.
آخر تعديل في ٢٩ يونيو ٢٠٢٦