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