يتم استخدام جملة MYSQL GROUP BY لجمع البيانات من سجلات متعددة وتجميع النتيجة في عمود واحد أو أكثر. يتم استخدامه بشكل عام في عبارة SELECT.
يمكنك أيضًا استخدام بعض الوظائف المجمعة مثل COUNT وSUM وMIN وMAX وAVG وما إلى ذلك في العمود المجمع.
بناء الجملة:
SELECT expression1, expression2, ... expression_n, aggregate_function (expression) FROM tables [WHERE conditions] GROUP BY expression1, expression2, ... expression_n;
حدود
التعبير 1، التعبير 2، ... التعبير_ن: وهو يحدد التعبيرات التي لم يتم تضمينها في دالة مجمعة ويجب تضمينها في جملة GROUP BY.
دالة مجمعة: ويحدد دالة مثل SUM أو COUNT أو MIN أو MAX أو AVG وما إلى ذلك. الجداول: يحدد الجداول التي تريد استرداد السجلات منها. يجب أن يكون هناك جدول واحد على الأقل مدرج في عبارة FROM.
حيث الشروط: إنه اختياري. ويحدد الشروط التي يجب استيفاؤها حتى يتم اختيار السجلات.
(ط) MySQL GROUP BY Clause مع وظيفة COUNT
خذ بعين الاعتبار جدولًا يسمى جدول 'الضباط'، ويحتوي على السجلات التالية.
الآن، دعونا نحسب العدد المتكرر للمدن في عنوان العمود.
قم بتنفيذ الاستعلام التالي:
SELECT address, COUNT(*) FROM officers GROUP BY address;
انتاج:
تبديل برمجة جافا
(2) جملة MySQL GROUP BY مع وظيفة SUM
لنأخذ جدول 'الموظفين' الذي يحتوي على البيانات التالية.
الآن، سيتم تجميع الاستعلام التالي حسب المثال باستخدام الدالة SUM وإرجاع emp_name وإجمالي ساعات العمل لكل موظف.
قم بتنفيذ الاستعلام التالي:
SELECT emp_name, SUM(working_hours) AS 'Total working hours' FROM employees GROUP BY emp_name;
انتاج:
(3) جملة MySQL GROUP BY مع وظيفة MIN
يحدد المثال التالي الحد الأدنى لساعات العمل للموظفين من جدول 'الموظفين'.
قم بتنفيذ الاستعلام التالي:
SELECT emp_name, MIN(working_hours) AS 'Minimum working hour' FROM employees GROUP BY emp_name;
انتاج:
(4) جملة MySQL GROUP BY مع وظيفة MAX
يحدد المثال التالي الحد الأقصى لساعات العمل للموظفين من جدول 'الموظفين'.
قم بتنفيذ الاستعلام التالي:
سايرا بانو الممثل
SELECT emp_name, MAX (working_hours) AS 'Minimum working hour' FROM employees GROUP BY emp_name;
انتاج:
(v) MySQL GROUP BY Clause مع وظيفة AVG
يحدد المثال التالي متوسط ساعات العمل للموظفين من جدول 'الموظفين'.قم بتنفيذ الاستعلام التالي:
SELECT emp_name, AVG(working_hours) AS 'Average working hour' FROM employees GROUP BY emp_name;
انتاج: