شرح صفوف ومحتوى الفقرة
يلخّص الجدول التالي خصائص الدوال التجميعية الأساسية في MySQL 8 وأنواع البيانات المدعومة وسلوكها مع NULL وعند خلو الجدول من النتائج:
| الدالة التجميعية | أنواع البيانات المدعومة | هل تتجاهل NULL؟ | النتيجة عند عدم تطابق أي صف |
|---|---|---|---|
COUNT(*) | جميع الصفوف | لا (تعد جميع الصفوف) | 0 |
COUNT(col) | جميع الأنواع | نعم (تعد غير الفارغ) | 0 |
COUNT(DISTINCT col) | جميع الأنواع | نعم (الفريد غير الفارغ) | 0 |
SUM(col) | الأعمدة الرقمية | نعم | NULL |
AVG(col) | الأعمدة الرقمية | نعم (في البسط والمقام) | NULL |
MIN(col) | الأرقام والتواريخ والنصوص | نعم | NULL |
MAX(col) | الأرقام والتواريخ والنصوص | نعم | NULL |
ملخص الدرس: تعلّمت في هذا الدرس آلية تلخيص الصفوف عبر الدوال التجميعية، والفرق الجوهري بين COUNT(*) و COUNT(col) و COUNT(DISTINCT)، وحساب المجاميع والمتوسطات عبر SUM و AVG، واستخراج الحدود الصغرى والكبرى عبر MIN و MAX.
الخطوة التالية والدرس القادم: سنتعلّم في الدرس القادم كيفية تقسيم الجدول إلى مجموعات فرعية باستخدام جملة GROUP BY ودمج النصوص داخل كل مجموعة عبر GROUP_CONCAT().
-- Complete executive dashboard summary in one query
SELECT COUNT(*) AS total_orders,
COUNT(DISTINCT customer_id) AS active_customers,
SUM(total_usd) AS total_revenue,
AVG(total_usd) AS avg_ticket,
MIN(total_usd) AS min_ticket,
MAX(total_usd) AS max_ticket
FROM orders
WHERE order_status = 'paid';
ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
أتقنّا في هذا الدرس الدوال التجميعية COUNT و SUM و AVG و MIN و MAX في MySQL في MySQL 8 مع أمثلة عملية.
الخطوة التالية والدرس القادم
أكمل التدريبات والاختبار التفاعلي أدناه قبل الانتقال إلى الدرس التالي في مسار MySQL.