مفهوم وضع الشروط على الحقول التي تم تجميعها
في البداية المقصود من هذا الأمر هو وضع شروط على النتيجة التي سنحصل عليها بعد أن قمنا بتجميع الحقول و إجراء إحصاء ما.
بمعنى أخر, بعد أن تقوم بتجميع قيم الحقول بواسطة الكلمة GROUP BY
يمكنك وضع شرط لفلترة النتيجة التي تم تجميعها أيضاً.
كمثال بسيط عن الحاجة لإعادة الفلترة بعد تجميع القيم, في حال كنت تريد إجراء إحصاء لمعرفة متوسط رواتب موظفي الشركة في كل بلد, و بعد معرفة متوسط الرواتب في كل بلد تريد معرفة أي بلدان تعطي موظفيها متوسط راتب يتجاوز 800 دولار.
لفلترة النتيجة التي حصلنا عليها بالأساس بعد أن قمنا بتجميع الحقول بواسطة الكلمة GROUP BY
نضع الكلمة HAVING
و بعدها الشرط الذي سيقوم بفلترة النتيجة أكثر.
الشكل العام لتجميع الحقول
إذا كنت ستجمع الحقول فقط و بعدها تضع الشرط الذي سيفلتر النتيجة, شكل الإستعلام سيكون كالتالي.
SELECT column_name(s) FROM table_name GROUP BY column_name(s) HAVING condition;
إذا كنت ستجمع الحقول و تضع شروط على القيم التي سيتم تجميعها من الأساس, و بعدها تنوي وضع شرط لفلترة النتيجة و في النهاية تريد ترتيب النتيجة النهائية, شكل الإستعلام سيكون كالتالي.
SELECT column_name(s) FROM table_name WHERE condition GROUP BY column_name(s) HAVING condition ORDER BY column_name(s);
- مكان الكلمة
table_name
نضع إسم الجدول الذي يحتوي على الحقول التي ننوي تجميعها و إجراء إحصاء عليها. - بعد الكلمة
WHERE
يمكننا وضع شروط على القيم التي سيتم تجميعها من الأساس. - بعد الكلمة
HAVING
يمكننا وضع شروط لفلترة النتيجة النهائية التي سيتم إرجاعها. - بعد الكلمة
GROUP BY
نضع إسم كل عمود نريد أن يتم تجميع القيم بناءاً عليه.