استخدام التجميعات المُفلترة
يوفّر 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اطّلع على صفحة مُركِّب دوال التجميع في الوثائق لمزيد من التفاصيل.