المجموع التراكمي
جزء من قسم ما وراء الأساسيات في رحلة 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، يومًا بعد يوم.
التحدي
سهلالجداول والأعمدة المتاحة:
revenue:region،day،amount
أعد region وday وamount وregion_running_total: قيمة amount التراكمية لهذه المنطقة حتى هذا اليوم وتضمينه. يجب إعادة تعيين الإجمالي الجاري لكل منطقة.
استخدم PARTITION BY في النافذة. رتّب حسب region، ثم day.
جرّب بنفسك
SELECT region, day, amount,
-- SUM(amount) OVER (PARTITION BY region ORDER BY day)
FROM revenue
ORDER BY region, day
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس ما وراء الأساسيات
تدرّب بنفسك: Playground لـ SQL