Skip to main content

الجزء العاشر: تجميع البيانات كفئات Group By

الجزء العاشر: تجميع البيانات كفئات
Group By

في هذا الجزء سنتعلم كيفية استرجاع البيانات وتجميعها بأستخدام دوال التجميع الخاصة Aggregate Function مثل الMIN,MAX,AVE,COUNT وبأستخدام فقرة الGroup by التى على اساسها سيتم تجميع البيانات, وسنتعلم كيفية استخدام الWhere والHaving معها  لغرض تصفية البيانات وما الفرق بينهما:

اول شيء لغرض تطبيق الدرس اليوم يتوجب عمل الجدول التالي:
CREATE TABLE tblEmployees
(
ID INT NOT NULL PRIMARY KEY IDENTITY(1,1),
Name NVARCHAR(30) NOT NULL,
Gender NVARCHAR(20) NOT NULL,
City NVARCHAR(30) NOT NULL,
Salary INT NOT NULL
)
وملأ الجدول بالبيانات التالية:
ID
Name
Gender
City
Salary
1
صفاء
ذكر
أربيل
295000
2
علاء
ذكر
أربيل
670000
3
سوزان
أنثى
بغداد
930000
4
أمير
ذكر
أربيل
350000
5
سارة
أنثى
بغداد
730000
6
محمد
ذكر
البصرة
890000
7
أحمد
ذكر
البصرة
980000
8
كمال
ذكر
دهوك
1000000


والأن السؤال: اريد استرجاع المبلغ الكلي لكل رواتب الموظفين في جدول tblEmployees ؟
الجواب سهل بأستخدام دالة التجميع  Aggregate Function SUM::


ملاحظة: استخدمت في المثال اعلاه AS لغرض تسمية الحقل بأسم مستعار مثل "المبلغ الأجمالي" لسهولة معرفة ماالمسترجع؟!, وبعدها استخدمت قطع الأقواس [] وفي داخلها عبارة "المبلغ الأجمالي" فائدة هذه الأقواس عندما يكون الأسم المستعار للحقل به فراغ Space
وفي النتيجة قيمة واحدة فقط مسترجعة وهي المبلغ الأجمالي لجمع كل الرواتب ووضعها بحقل واحد عن طريق دالة التجميع Aggregate Function وهي الSUM


سؤال اخر: اريد معرفة ماهو المبلغ الكلي لرواتب الموظفين في كل مدينة؟
الجواب: هنا حدد في كل مدينة, اي المبلغ الكلي لرواتب الموظفين حسب كل مدينة وهذا الفئات ستحدد عن طريق Group By كالأتي:


الفكرة هي :



سؤال اخر: اريد المبلغ الكلي لرواتب الموظفين حسب كل مدينة وحسب نوع الجنس(ذكر او انثى)؟
الجواب: نفس فكرة المثال السابق فقط قم بتجميع البيانات المسترجعة حسب نوع الجنس Gender عن طريق الGroup By



سؤال اخر : اريد عدد الموظفين في كل مدينة مع المبلغ الكلي لرواتبهم ومع نوع الجنس(ذكر او انثى)؟
الجواب: لأيجاد عدد الموظفين في كل مدينة قم بأستخدام دالة التجميع Aggregate Function وهي COUNT() :




 والأن نأتي الى أستخدام الWHERE & HAVING في البدء يجب ان نعرف الفرق بين الأثنين:
·       تستخدم فقرة الWHERE مع الSELECT , INSERT, UPDATE, DELETE   بينما الHAVING  تستخدم فقط في الSELECT ومع الGROUP BY
·       يجب ان تستخدم الWHERE قبل فقرة الGROUP BY بينما الHAVING يجب ان تستخدم بعد الGROUP BY , وهذا يبرهن على ان تصفية البيانات في الWHERE تتم قبل ان تقسم الى فئات عن طريق الGROUP BY , بينما في الHAVING تستخدم بعد ان قسمت البيانات الى فئات عن طريق الGROUP BY.
·       يمكن استخدام دوال التجميع Aggregate Function  مع الHAVING بينما لا تستطيع مع الWHERE .

والأن بعدما عرفنا الفرق بين الWHERE  و الHAVING , اريد منك ان تسترجع كافة بيانات الذكور في محافظة أربيل  مع المبلغ الكلي لرواتبهم وعددهم؟
الجواب:


او:



سؤال اخير اريد المبلغ الكلي لرواتب الموظفين في كل مدينة مع شرط ان يكون المبلغ اكبر من 1400,000 ?
الجواب:
قبل الجواب لأحظ الخطأ (يشير الا عدم السماح بأستخدام دوال التجميع
Aggregation Function  مع الWHERE)



ولحل ذلك قمت بأستخدام دالة التجميع SUM مع الHaving  بعد الGroup By :


Comments

Popular posts from this blog

PART #2: Registration and Login System Tutorial Using PHP and MYSQL

PART #2: Registration and Login System Tutorial Using PHP and MYSQL Registration and login system using PHP and MySQL database, in this part you will do the following: 1- Creating the registration page. 2- Validating the registration form. 3- Sending the activation link on successful registration. note: you can find the mailserver tool here: [MailServerTool] Good luck. PHP,Mysql,Programming,web development,How to,Technology,web programming,web project ideas,safaa al-hayali,saf3al2a,Registration and login,Registration and login in php,php and mysql login system,registration system using php and mysql,login and register php,login and register php with database,database,php tutorial,learn php,tutorial

How To Play .srt Subtitles File in Windows Media Player

How To Play .srt Subtitles File in Windows Media Player links: https://sourceforge.net/projects/wmpsub/ wmp,.srt Subtitles File in Windows Media Player,How To Play .srt Subtitles File in Windows Media Player,How To,Safaa Al-Hayali,saf3al2a,srt subtitle in WMP,Windows,Windows Media Player,media,.ass,local subtitles

Virtual Box : How to Increase Disk Size - Windows

How to increase disk size or disk storage in oracle virtual box the command you have to use: vboxmanage.exe modifymedium "[YourPathToVdiFileOfYourVirtualMachine]" --resize [NUMBER] virtual,box,vbox,oracle,partition,size,disk,increase,resize,windows,10,microsoft,vdi,vboxmanage,configuration,Safaa AL-Hayali,saf3al2a,Oracle,VirtualBox,How to,windows 10