أكتشف كيفية استخدام الوظائف الجماعية في ال SQL& مثل MIN,MAX,SUM&

July 31, 2024

تتضمن عملية تجميع البيانات في SQL تلخيص أو تجميع البيانات لاستخلاص الإحصاءات من مجموعات البيانات الكبيرة. إليك نظرة عامة على المفاهيم الرئيسية:

 

الوظائف الجماعية  (Aggregate Functions):

 

توفر SQL مجموعة متنوعة من الوظائف الجماعية مثل COUNT، SUM، AVG، MIN، و MAX.

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

 SUM يحسب المجموع الإجمالي للقيم الرقمية في عمود.

AVG يحسب القيمة المتوسطة لعمود رقمي.

 MIN يسترد القيمة الدنيا من عمود.

MAX  يسترد القيمة القصوى من عمود.

تجميع البيانات:

 

يستخدم الجملة GROUP BY لتجميع الصفوف التي تحتوي على نفس القيم إلى صفوف ملخصة.

يستخدم غالبًا مع الوظائف الجماعية لإجراء الحسابات على كل مجموعة بشكل منفصل.

يسمح التجميع بتحليل البيانات على مستويات مختلفة من التفصيل.

تصفية المجموعات (Grouping Data):

 

يستخدم الجملة HAVING لتصفية المجموعات استنادًا إلى شروط محددة.

يشبه العمل بالجملة WHERE ولكن يعمل على الصفوف المجمعة بدلاً من الصفوف الفردية.

يُستخدم HAVING عادةً بالتزامن مع GROUP BY لتصفية البيانات المجمعة.

من خلال دمج الوظائف الجماعية، وجملة GROUP BY، وجملة HAVING، يمكن لمستخدمي SQL إجراء تحليلات معقدة على المجموعات البيانية واستخراج إحصاءات معنوية واتخاذ قرارات مستنيرة بناءً على البيانات الملخصة.

 --أمثلة على تجميع البيانات:

هذا الاستعلام يستخدم الوظيفة الجماعية COUNT لحساب عدد العملاء في كل مدينة، ومن ثم يستخدم GROUP BY لتجميع البيانات بناءً على المدينة.

SELECT City, COUNT(CustomerID) AS NumCustomers FROM Customers GROUP BY City;

هذا يؤدي إلى الحصول على عدد العملاء في كل مدينة بشكل منفصل، حيث يمكن أن تظهر النتيجة كما يلي

City

NumCustomers

New York

3

Los Angeles

2

Chicago

2

...

...


حساب المبلغ الإجمالي للطلبات لكل عميل:

SELECT CustomerID, SUM(OrderAmount) AS TotalAmount FROM Orders GROUP BY CustomerID;

هذا الاستعلام يستخدم الوظيفة الجماعية SUM لحساب المبلغ الإجمالي للطلبات لكل عميل، ومن ثم يجمع البيانات بواسطة رقم العميل.

هذا يؤدي إلى الحصول على حساب المبلغ الإجمالي للطلبات لكل عميل، حيث يمكن أن تظهر النتيجة كما يلي

CustomerID

Total Amount 

1

5000

2

7500

3

3200

...

...



عرض الوظيفة الوسيطة لأعمار الموظفين:

SELECT AVG(Age) AS MedianAge ;FROM Employees


هذا الاستعلام يستخدم الوظيفة الجماعية AVG لحساب الوسيطة لأعمار الموظفين في الجدول.


تصفية المجموعات للعملاء الذين قاموا بعدد محدد من الطلبات:

SELECT CustomerID, COUNT(OrderID) AS NumOrders
FROM Orders
GROUP BY CustomerID
;HAVING COUNT(OrderID) > 5


هذا الاستعلام يستخدم الوظيفة الجماعية COUNT لحساب عدد الطلبات لكل عميل، ويستخدم جملة HAVING لتصفية العملاء الذين قاموا بأكثر من 5 طلبات.

comments 0

See all"ON"
Name is required.
Valid email is required.