دوال التجميع في SQL (Aggregate Functions)

دوال التجميع في SQL (Aggregate Functions)

دوال التجميع في SQL (Aggregate Functions)

دالة التجميع هي دالة تقوم بإجراء عملية حسابية على مجموعة من القيم وتُرجع قيمة واحدة فقط. تُستخدم غالبًا مع جملة GROUP BY في عبارة SELECT. حيث تقوم GROUP BY بتقسيم النتائج إلى مجموعات، ثم تُطبق دالة التجميع لإرجاع قيمة واحدة لكل مجموعة.

أشهر دوال التجميع في SQL

  • MIN() — تُرجع أصغر قيمة في العمود المحدد.
  • MAX() — تُرجع أكبر قيمة في العمود المحدد.
  • COUNT() — تُرجع عدد الصفوف في مجموعة البيانات.
  • SUM() — تُرجع مجموع القيم في عمود رقمي.
  • AVG() — تُرجع المتوسط الحسابي لقيم عمود رقمي.

ملاحظة: دوال التجميع تتجاهل القيم NULL (باستثناء COUNT(*) التي تحتسب كل الصفوف بما فيها التي تحتوي على قيم فارغة).

أمثلة على دوال التجميع

MIN()

SELECT MIN(Salary) AS أقل_راتب
FROM Employees;

تُرجع أقل راتب موجود في جدول الموظفين.

MAX()

SELECT MAX(Salary) AS أعلى_راتب
FROM Employees;

تُرجع أعلى راتب موجود في جدول الموظفين.

COUNT()

SELECT COUNT(*) AS عدد_الموظفين
FROM Employees;

تحسب عدد الصفوف في جدول الموظفين.

SUM()

SELECT SUM(Salary) AS إجمالي_الرواتب
FROM Employees;

تُرجع مجموع كل الرواتب في جدول الموظفين.

AVG()

SELECT AVG(Salary) AS متوسط_الراتب
FROM Employees;

تُرجع المتوسط الحسابي للرواتب.

استخدام GROUP BY

يمكن دمج دوال التجميع مع GROUP BY للحصول على نتائج مجمعة حسب عمود معين:

SELECT Department, AVG(Salary) AS متوسط_الراتب
FROM Employees
GROUP BY Department;

هذا الاستعلام يُرجع متوسط الراتب لكل قسم في الشركة.

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

SELECT Department, SUM(Salary) AS إجمالي_الرواتب
FROM Employees
GROUP BY Department
HAVING SUM(Salary) > 100000;

يُرجع فقط الأقسام التي يكون فيها إجمالي الرواتب أكبر من 100000.

نصائح عملية

  • تأكد من التعامل مع القيم NULL عند استخدام AVG() وSUM().
  • استخدم COUNT(column_name) إذا كنت تريد عد القيم غير الفارغة فقط.
  • يمكن دمج دوال التجميع مع ORDER BY لترتيب النتائج حسب قيمة التجميع.

هاشتاجات

#SQL #Aggregate_Functions #Database #تعلم_SQL #GroupBy #Having #SalemNet

تعليقات