عند التجميع حسب عدة أعمدة، تدخل القيم المفقودة في تحديد المجموعات. الصفوف التي تتطابق في الأعمدة الأخرى وتحتوي على NULL في عمود التجميع نفسه توضع في مجموعة واحدة. لا يعني ذلك أن المقارنة العادية بين قيمتين مفقودتين تصبح صحيحة، بل إن للتجميع قاعدة خاصة في تنظيم هذه الصفوف.
مثال
SELECT department, status, COUNT(*) AS task_count
FROM tasks
GROUP BY department, status;
إذا سجلت مهمتان لقسم الدعم دون حالة معروفة، فإنهما تنتميان إلى مجموعة واحدة. أما مهمة قسم المبيعات ذات الحالة المفقودة فتنتمي إلى مجموعة أخرى، لأن القسم مختلف. كذلك تنفصل مهام الدعم المفتوحة عن مهام الدعم التي لا نعرف حالتها.
تساعد هذه القاعدة في قراءة تقارير البيانات غير المكتملة. يجب ألا تفترض أن كل قيمة مفقودة تنشئ مجموعة مستقلة، وألا تفترض أن جميع الصفوف المفقودة تندمج مهما اختلفت بقية أعمدة التجميع.
باختصار: تتجمع قيم NULL معا عندما تتطابق بقية قيم الأعمدة المشاركة في مفتاح التجميع.
هل تريد تعلّم SQL خطوة بخطوة مع تمارين عملية؟ تابع مسار SQL من الأساسيات للاحتراف.