المجموع التراكمي
جزء من قسم ما وراء الأساسيات في رحلة SQL على Coddy. الدرس 25 من 27.
المجموع الجاري (التراكمي) هو SUM على نافذة مع ORDER BY: وهذا يحوّل التجميع إلى مجموع يزداد صفًا بعد صف.
SELECT day, amount,
SUM(amount) OVER (ORDER BY day) AS running_total
FROM revenueمن دون ORDER BY، تشمل النافذة كل صف، وستحصل على المجموع الكلي في كل سطر. أما معه، فتتوسع النافذة صفًا واحدًا في كل مرة وفقًا لذلك الترتيب، لذا لا يرى كل صف إلا نفسه وكل ما يسبقه.
أضف PARTITION BY لإعادة تعيين المجموع التراكمي لكل مجموعة، مثل المجموع التراكمي للإيرادات لكل منطقة، يومًا بيوم.
التحدي
سهلالجداول والأعمدة المتاحة:
revenue:region,day,amount
أعِد region وday وamount وregion_running_total: القيمة التراكمية لـ amount في تلك المنطقة حتى هذا اليوم وشاملًا له. يجب أن يُعاد تعيين الإجمالي التراكمي لكل منطقة.
استخدم PARTITION BY في النافذة. رتّب حسب region، ثم day.
جرّب بنفسك
SELECT region, day, amount,
-- أضف العمود region_running_total هنا
FROM revenue
ORDER BY region, day
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس ما وراء الأساسيات
تدرّب بنفسك: Playground لـ SQL