logo

عدد SQL مميز

قبل أن نفهم مفهوم وظيفة العد مع الكلمة الأساسية DISTINCT، علينا أن نتعرف على الكلمات الأساسية Count وDistinct. لذلك، دعونا نبدأ مع وظيفة العد.

ما هو العد في SQL؟

COUNT هي وظيفة في لغة الاستعلام الهيكلية تعرض عدد السجلات من الجدول في النتيجة. في SQL، يتم استخدامه دائمًا في استعلام SELECT.

بناء جملة الدالة Count موضح أدناه:

 SELECT COUNT(Name_of_Column) FROM Name_of_Table; 

في مثال العدد، يتعين علينا تحديد اسم العمود بين قوسين بعد الكلمة الأساسية COUNT مباشرة.

مثال على وظيفة العد

أولاً، علينا إنشاء جدول جديد سيتم تنفيذ دالة العد عليه.

الثلج مقابل الجليد

يقوم الاستعلام التالي بإنشاء تفاصيل_المعلم طاولة مع معرف_المعلم كمفتاح أساسي باستخدام عبارة CREATE TABLE:

 CREATE TABLE Teacher_Details ( Teacher_ID INT NOT NULL, Teacher_Name varchar(100), Teacher_Qualification varchar(50), Teacher_Age INT, Teacher_Interview_Marks INT ); 

تقوم استعلامات SQL التالية بإدراج سجل المعلمين الجدد في الجدول أعلاه باستخدام عبارة INSERT INTO:

 INSERT INTO Teacher_Details VALUES (101, Anuj, B.tech, 20, 88); INSERT INTO Teacher_Details VALUES (102, Raman, MCA, 24, NULL); INSERT INTO Teacher_Details VALUES (104, Shyam, BBA, 19, 92); INSERT INTO Teacher_Details VALUES (107, Vikash, B.tech, 20, NULL); INSERT INTO Teacher_Details VALUES (111, Monu, MBA, 21, NULL); INSERT INTO Teacher_Details VALUES (114, Jones, B.tech, 18, 93); INSERT INTO Teacher_Details VALUES (121, Parul, BCA, 20, 97); INSERT INTO Teacher_Details VALUES (123, Divya, B.tech, 21, NULL); INSERT INTO Teacher_Details VALUES (128, Hemant, MBA, 23, 90); INSERT INTO Teacher_Details VALUES (130, Nidhi, BBA, 20, 88); INSERT INTO Teacher_Details VALUES (132, Priya, MBA, 22, NULL); INSERT INTO Teacher_Details VALUES (138, Mohit, MCA, 21, 92); 

دعونا نرى سجل الجدول أعلاه باستخدام عبارة SELECT التالية:

 SELECT * FROM Teacher_Details; 

معرف_المعلم اسم_المعلم مؤهل_المعلم عمر المعلم علامات_مقابلة_المعلم
101 أنوج بي تك عشرين 88
102 رامان مولودية الجزائر 24 باطل
104 شيام بابا 19 92
107 فيكاش بي تك عشرين باطل
111 مونو ماجستير في إدارة الأعمال واحد وعشرين باطل
114 جونز بي تك 18 93
121 الشعر اتفاق التعاون الأساسي عشرين 97
123 ديفيا بي تك واحد وعشرين باطل
128 هيمانت ماجستير في إدارة الأعمال 23 90
130 نيدي بابا عشرين 88
132 بريا ماجستير في إدارة الأعمال 22 باطل
138 موهيت مولودية الجزائر واحد وعشرين 92

يقوم الاستعلام التالي بحساب إجمالي قيم عمود Teacher_Age من جدول Teacher_Details:

 SELECT COUNT (Teacher_Age) AS Total_Teachers_Age_Column FROM Teacher_Details; 

انتاج:

عدد SQL مميز

إخراج استعلام SELECT أعلاه هو اثني عشر لأن عمر المعلم لا يحتوي الحقل على أي قيمة فارغة.

يقوم الاستعلام التالي بحساب إجمالي قيم Teacher_Interview_Column من الجدول أعلاه:

 SELECT COUNT (Teacher_Interview_Marks) AS Total_Teachers_Interview_Marks FROM Teacher_Details; 

سيظهر هذا الاستعلام الإخراج أدناه على الشاشة:

عدد SQL مميز

إخراج استعلام SELECT أعلاه هو 7 لأن الخليتين الخمستين في عمود Teacher_Interview_Marks تحتويان على NULL. ويتم استبعاد هذه القيم الخمس الخالية. ولهذا السبب يعرض استعلام SELECT 7 بدلاً من 12 في النتيجة.

طريقة التبديل جافا

ما هي وظيفة العد (*)؟

يشبه هذا أيضًا الدالة Count، لكن الاختلاف الوحيد هو أنها تعرض أيضًا عدد القيم NULL من الجدول.

يتم تقديم صيغة الدالة Count (*) هنا:

 SELECT COUNT(*) FROM Name_of_Table; 

مثال:

لنأخذ تفاصيل Teacher_Details أعلاه:

معرف_المعلم اسم_المعلم مؤهل_المعلم عمر المعلم علامات_مقابلة_المعلم
101 أنوج بي تك عشرين 88
102 رامان مولودية الجزائر 24 باطل
104 شيام بابا 19 92
107 فيكاش بي تك عشرين باطل
111 مونو ماجستير في إدارة الأعمال واحد وعشرين باطل
114 جونز بي تك 18 93
121 الشعر اتفاق التعاون الأساسي عشرين 97
123 ديفيا بي تك واحد وعشرين باطل
128 هيمانت ماجستير في إدارة الأعمال 23 90
130 نيدي بابا عشرين 88
132 بريا ماجستير في إدارة الأعمال 22 باطل
138 موهيت مولودية الجزائر واحد وعشرين 92

يقوم الاستعلام التالي بحساب إجمالي قيم إجمالي_علامات_المقابلات عمود من الجدول أعلاه:

 SELECT COUNT (*) FROM Teacher_Details; 

سيعطي استعلام SELECT مع COUNT(*) أعلاه النتيجة التالية على الشاشة:

عدد SQL مميز

ما هو DISTINCT في SQL؟

تعرض الكلمة الأساسية DISTINCT الصفوف الفريدة للعمود من الجدول في النتيجة.

يتم توفير صيغة الكلمة الأساسية DISTINCT هنا:

 SELECT DISTINCT Name_of_Column FROM Table_Name WHERE [condition]; 

في الاستعلام DISTINCT، يمكننا أيضًا تحديد الشرط في جملة WHERE لاسترداد القيم المحددة.

مثال على التميز

أولاً، قم بإنشاء جدول جديد سيتم تشغيل الكلمة الأساسية المميزة عليه.

استدعاء وظيفة js من HTML

يقوم الاستعلام التالي بإنشاء تفاصيل الدراجة الجدول باستخدام عبارة CREATE TABLE:

 CREATE TABLE Bike_Details ( Bike_Name varchar(100), Bike_Model INT, Bike_Color varchar(50), Bike_Cost INT ); 

تقوم استعلامات SQL التالية بإدراج سجل الدراجات الجديدة في الجدول باستخدام عبارة INSERT INTO:

 INSERT INTO Bike_Details VALUES (KTM DUKE, 2019, Black, 185000); INSERT INTO Bike_Details VALUES (royal Infield, 2020, Black, 165000); INSERT INTO Bike_Details VALUES (Pulsar, 2018, Red, 90000); INSERT INTO Bike_Details VALUES (Apache, 2020, White, 85000); INSERT INTO Bike_Details VALUES (Livo, 2018, Black, 80000); INSERT INTO Bike_Details VALUES (KTM RC, 2020, Red, 195000); 

يتم عرض سجلات الجدول أعلاه باستخدام استعلام SELECT التالي:

 SELECT * FROM Bike_Details; 

اسم_الدراجة Bike_Model لون الدراجة تكلفة الدراجة
كيه تي إم ديوك 2019 أسود 185000
رويال انفيلد 2020 أسود 165000
يضعط 2018 أحمر 90000
أباتشي 2020 أبيض 85000
يعيش 2018 أسود 80.000
كيه تي إم آر سي 2020 أحمر 195,000

طاولة: تفاصيل الدراجة

يستعلم SQL التالي عن القيم المميزة لعمود اللون مما سبق تفاصيل الدراجة طاولة:

 SELECT DISTINCT Bike_Color FROM Bikes ; 

انتاج:

عدد SQL مميز

كما نرى، فإن الأسود والأحمر والأبيض هي ثلاث قيم مميزة في عمود Bike_Color.

وظيفة العد مع الكلمة الأساسية DISTINCT

تعرض الكلمة الأساسية DISTINCT مع الدالة COUNT في استعلام SELECT عدد البيانات الفريدة للحقل من الجدول.

يرد أدناه بناء جملة دالة العد مع الكلمة الأساسية DISTINCT:

 SELECT COUNT(DISTINCT (Column_Name) FROM table_name WHERE [condition]; 

أمثلة على وظيفة العد مع الكلمة الأساسية DISTINCT

سيشرح مثالا SQL التاليان تنفيذ دالة Count باستخدام الكلمة الأساسية المميزة:

مثال 1:

يقوم الاستعلام التالي بإنشاء جدول College_Students الذي يحتوي على أربعة حقول:

ف افلام
 CREATE TABLE College_Students ( Student_Id INT NOT NULL, Student_Name Varchar (40), Student_Age INT, Student_Marks INT ); 

يقوم استعلام INSERT التالي بإدراج سجل الطلاب في جدول College_Students:

 INSERT INTO College_Students (Student_Id, Student_Name, Student_Age, Student_Marks) VALUES (101, Akhil, 28, 95), (102, Abhay, 27, 86), (103, Sorya, 26, 79), (104, Abhishek, 27, 66), (105, Ritik, 26, 79), (106, Yash, 29, 88); 

الاستعلام التالي يوضح تفاصيل جدول College_Students:

 SELECT * FROM College_Students; 

هوية الطالب أسم الطالب Student_Age Student_Marks
101 أخيل 28 95
102 أبهاي 27 86
103 سوريا 26 79
104 ابهيشيك 27 66
105 هريثيك 26 79
106 ياش 29 88

الجدول: طلاب_الكلية

تحسب عبارة SQL التالية القيم الفريدة لعمود Student_Age من جدول College_Students:

 SELECT COUNT (DISTINCT (Student_Age) AS Unique_Age FROM College_Students ; 

سيعطي هذا الاستعلام الجدول أدناه في الإخراج:

عدد SQL مميز

يعرض الإخراج القيم الأربع لأن عمود Teacher_age يحتوي على 4 قيم فريدة.

مثال 2:

يقوم الاستعلام التالي بإنشاء جدول IT_Employee بأربعة حقول:

 CREATE TABLE IT_Employee ( Employee_Id INT NOT NULL, Employee_Name Varchar (40), Emp_Age INT, Employee_Salary INT ); 

يقوم استعلام INSERT التالي بإدراج سجل موظفي تكنولوجيا المعلومات في جدول IT_Employee:

 INSERT INTO IT_Employee (Employee_Id, Employee_Name, Employee_Age, Employee_Salary) VALUES (101, Akhil, 28, 25000), (102, Abhay, 27, 26000), (103, Sorya, 26, 29000), (104, Abhishek, 27, 26000), (105, Ritik, 26, 29000), (106, Yash, 29, 25000); 

يعرض الاستعلام التالي تفاصيل جدول IT_Employee:

 SELECT * FROM IT_Employee; 

هوية الموظف اسم الموظف عمر الموظف راتب_الموظف
101 أخيل 28 25000
102 أبهاي 27 26000
103 سوريا 26 29000
104 ابهيشيك 27 26000
105 هريثيك 26 29000
106 ياش 29 25000

الجدول: IT_Employee

مشغل جافا الثلاثي

عبارة SQL التالية تحسب فقط القيم الفريدة لعمود Emp_Age من جدول IT_Employee أعلاه:

 SELECT COUNT (DISTINCT (Employee_Age)) AS Unique_Age FROM IT_Employee ; 

سيعطي هذا الاستعلام الإخراج أدناه:

عدد SQL مميز