شبكة تعلم مع ناو

ماذا يفعل GROUP BY مع SUM في SQL؟

GROUP BY يجمع الصفوف التي لها القيمة نفسها في مجموعات، وSUM() يحسب المجموع لكل مجموعة.

SELECT customer_id, SUM(total_amount) AS total_paid
FROM orders
GROUP BY customer_id;

هذا الاستعلام يحسب إجمالي المبالغ المدفوعة لكل عميل. إذا كان للعميل رقم 7 ثلاثة طلبات بقيم 50 و30 و20، فسيظهر له سطر واحد بقيمة 100.

ولمعرفة العميل الذي دفع أكثر؟

الاستعلام السابق لا يعطيك ذلك وحده. أضف ترتيبًا وحدًّا:

SELECT customer_id, SUM(total_amount) AS total_paid
FROM orders
GROUP BY customer_id
ORDER BY total_paid DESC
LIMIT 1;

ودوال أخرى تعمل مع GROUP BY: COUNT() وAVG() وMAX() وMIN().

اختبر نفسك

خمسة أسئلة سريعة، مع الإجابة والشرح بعد كل سؤال.