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

سهلقراءة دقيقةآخر تحديث 1 أكتوبر 2026

قواعد البيانات

الإجابة

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().

اختبر فهمك

في جدول orders يحتوي العمود customer_id على أرقام العملاء، والعمود total_amount على المبالغ المدفوعة. ماذا يريد مسؤول قاعدة البيانات من هذا الاستعلام؟

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