لماذا يهم هذا الدرس؟

فهم GROUP BY وربطه بمثال علائقي عملي واضح. تختزل Aggregate Functions صفوفًا كثيرة إلى Measures. تحدد GROUP BY كل Result Group بينما ترشح HAVING المجموعات بعد Aggregation.

كيف تفكر فيه؟

  • في درس GROUP BY، النتيجة التي يجب أن تتحقق: نفّذ الاستعلام على بيانات تجريبية واقرأ النتيجة قبل الانتقال إلى الحالة التالية.
  • في سياق GROUP BY، الخطر الذي يجب أن يبقى تحت السيطرة: اختيار Columns غير موجودة في GROUP BY مع Aggregates أواستخدام WHERE عندما يعتمد الشرط على Aggregate يؤدي إلى Query خاطئة أو مضللة.
  • تطبيق GROUP BY: احسب Order Count وRevenue لكل Customer ثم احتفظ فقط بمن تجاوز Order Count حدًا تختاره.

تطبيق عملي

في التطبيق الخاص بدرس GROUP BY: نفّذ الاستعلام على بيانات تجريبية واقرأ النتيجة قبل الانتقال إلى الحالة التالية.

example.sqlsql
SELECT status, COUNT(*)
FROM orders
GROUP BY status;

جرّب بنفسك

Practice

تمرين GROUP BY

احسب Order Count وRevenue لكل Customer ثم احتفظ فقط بمن تجاوز Order Count حدًا تختاره.

  • سجل النتيجة المتوقعة قبل التنفيذ
  • اختبر حالة صحيحة وحالة فشل مرتبطة بالدرس
  • اشرح في سطرين أين يوجد الحد المسؤول عن القرار

الخلاصة