Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

المجموع التراكمي

جزء من قسم ما وراء الأساسيات في رحلة SQL على Coddy — الدرس 25 من 27.

المجموع التراكمي (running total) هو SUM عبر نافذة (window) باستخدام ORDER BY: مما يحول التجميع إلى تجميع ينمو صفاً بصف.

SELECT day, amount,
       SUM(amount) OVER (ORDER BY day) AS running_total
FROM revenue

بدون ORDER BY، تغطي النافذة كل صف وستحصل على المجموع الكلي في كل سطر. باستخدامها، تتوسع النافذة صفاً واحداً في كل مرة بهذا الترتيب، بحيث يرى كل صف نفسه فقط وكل ما قبله.

أضف PARTITION BY لإعادة تعيين المجموع التراكمي لكل مجموعة، على سبيل المثال، المجموع التراكمي للإيرادات لكل منطقة، يوماً بيوم.

challenge icon

التحدي

سهل

الجداول والأعمدة المتاحة:

  • <strong>revenue</strong>: <strong>region</strong>, <strong>day</strong>, <strong>amount</strong>

قم بإرجاع region، و day، و amount، و region_running_total: وهو المجموع التراكمي لـ amount لـ ذلك المنطقة (region) حتى هذا اليوم وما قبله. يجب أن يُعاد تعيين المجموع التراكمي لكل منطقة.

استخدم PARTITION BY في النافذة (window). قم بالترتيب حسب region، ثم day.

ورقة مرجعية

يستخدم الـ إجمالي التراكمي (running total) الدالة SUM مع ORDER BY في النافذة (window) — حيث تتوسع النافذة صفاً بصف وفقاً لهذا الترتيب:

SELECT day, amount,
       SUM(amount) OVER (ORDER BY day) AS running_total
FROM revenue

أضف PARTITION BY لإعادة تعيين الإجمالي التراكمي لكل مجموعة:

SELECT region, day, amount,
       SUM(amount) OVER (PARTITION BY region ORDER BY day) AS region_running_total
FROM revenue
ORDER BY region, day

جرّب بنفسك

SELECT region, day, amount,
       -- SUM(amount) OVER (PARTITION BY region ORDER BY day)
FROM revenue
ORDER BY region, day
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس ما وراء الأساسيات