العودة إلى الدورة

تجميع البيانات باستخدام GROUP BY و HAVING

أساسيات قواعد البيانات: من الصفر إلى الاحتراف

الدرس 25: تجميع البيانات باستخدام GROUP BY و HAVING

عادةً ما تلخص الدوال التجميعية الجدول بأكمله. تقوم عبارة GROUP BY بتقسيم الصفوف إلى مجموعات، مما يسمح لك بتطبيق الدالة التجميعية على كل مجموعة على حدة.

استخدام GROUP BY

لمشاهدة الإجماليات الفرعية أو البيانات الموجزة لفئات محددة، يجب عليك استخدام GROUP BY.

  • القاعدة: يجب إدراج أي عمود مدرج في عبارة SELECT وهو ليس دالة تجميعية، في عبارة GROUP BY.

مثال: متوسط الراتب حسب القسم

sql SELECT Department, AVG(Salary) AS AverageSalary FROM Employees GROUP BY Department; -- تجميع النتائج حسب اسم القسم

تصفية المجموعات باستخدام HAVING

  • تقوم عبارة WHERE بتصفية الصفوف الفردية قبل التجميع.
  • تقوم عبارة HAVING بتصفية المجموعات بعد حدوث التجميع والدالة التجميعية.

مثال: البحث عن الأقسام التي بها أكثر من 5 موظفين

sql SELECT Department, COUNT(EmployeeID) AS EmployeeCount FROM Employees GROUP BY Department HAVING COUNT(EmployeeID) > 5; -- تصفية المجموعات

الترتيب الكامل للعمليات

في استعلام SQL القياسي، يتم تنفيذ العبارات بترتيب محدد:

  1. FROM (تحديد الجداول المصدر)
  2. WHERE (تصفية الصفوف الفردية)
  3. GROUP BY (تجميع الصفوف التي تمت تصفيتها)
  4. HAVING (تصفية المجموعات الناتجة)
  5. SELECT (تحديد الأعمدة المراد عرضها)
  6. ORDER BY (فرز مجموعة النتائج النهائية)