Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

sumForEach

الوصف

يمكن تطبيق المُركِّب ForEach على الدالة التجميعية sum لتحويلها من دالة تجميعية تعمل على قيم الصفوف إلى دالة تجميعية تعمل على أعمدة المصفوفات، بحيث يُطبَّق التجميع على كل عنصر في المصفوفة عبر الصفوف.

مثال على الاستخدام

في هذا المثال، سنستخدم مجموعة البيانات hits المتاحة في SQL playground.

يحتوي جدول hits على عمود باسم isMobile من النوع UInt8، ويمكن أن تكون قيمته 0 لأجهزة سطح المكتب أو 1 للأجهزة المحمولة:

SELECT EventTime, IsMobile FROM metrica.hits ORDER BY rand() LIMIT 10

سنستخدم دالة sumForEach من نوع aggregate مُركِّب لتحليل كيفية اختلاف الزيارات بين أجهزة سطح المكتب والأجهزة المحمولة بحسب ساعة اليوم. انقر على زر play أدناه لتشغيل الاستعلام بشكل تفاعلي:

SELECT
    toHour(EventTime) AS hour_of_day,
    -- استخدم sumForEach لعدّ زيارات أجهزة سطح المكتب والأجهزة المحمولة في خطوة واحدة
    sumForEach([
        IsMobile = 0, -- زيارات أجهزة سطح المكتب (IsMobile = 0)
        IsMobile = 1  -- زيارات الأجهزة المحمولة (IsMobile = 1)
    ]) AS device_counts
FROM metrica.hits
GROUP BY hour_of_day
ORDER BY hour_of_day;

انظر أيضًا

Navigation