Bevor wir das Konzept der Count-Funktion mit dem Schlüsselwort DISTINCT verstehen, müssen wir die Schlüsselwörter Count und Distinct kennen. Beginnen wir also mit der Count-Funktion.
Was ist Count in SQL?
COUNT ist eine Funktion in der Structured Query Language, die die Anzahl der Datensätze aus der Tabelle im Ergebnis anzeigt. In SQL wird es immer in der SELECT-Abfrage verwendet.
Die Syntax der Count-Funktion ist unten angegeben:
SELECT COUNT(Name_of_Column) FROM Name_of_Table;
Im Count-Beispiel müssen wir den Namen der Spalte in Klammern direkt nach dem Schlüsselwort COUNT definieren.
Beispiel einer Zählfunktion
Zunächst müssen wir eine neue Tabelle erstellen, auf der die Zählfunktion ausgeführt werden soll.
Java-Auflistung
Die folgende Abfrage erstellt die Teacher_Details Tisch mit Lehrer_ID als Primärschlüssel mit der CREATE TABLE-Anweisung:
CREATE TABLE Teacher_Details ( Teacher_ID INT NOT NULL, Teacher_Name varchar(100), Teacher_Qualification varchar(50), Teacher_Age INT, Teacher_Interview_Marks INT );
Die folgenden SQL-Abfragen fügen den Datensatz neuer Lehrer mithilfe der INSERT INTO-Anweisung in die obige Tabelle ein:
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);
Sehen wir uns den Datensatz der obigen Tabelle mit der folgenden SELECT-Anweisung an:
SELECT * FROM Teacher_Details;
Lehrer_ID | Der Name des Lehrers | Lehrer_Qualifikation | Lehrer_Alter | Teacher_Interview_Marks |
---|---|---|---|---|
101 | Anuj | B.tech | zwanzig | 88 |
102 | Raman | MCA | 24 | NULL |
104 | Shyam | BBA | 19 | 92 |
107 | Vikash | B.tech | zwanzig | NULL |
111 | Monu | MBA | einundzwanzig | NULL |
114 | Jones | B.tech | 18 | 93 |
121 | Das Haar | BCA | zwanzig | 97 |
123 | Divya | B.tech | einundzwanzig | NULL |
128 | Hemant | MBA | 23 | 90 |
130 | Nidhi | BBA | zwanzig | 88 |
132 | Priya | MBA | 22 | NULL |
138 | Mohit | MCA | einundzwanzig | 92 |
Die folgende Abfrage zählt die Gesamtwerte der Spalte Teacher_Age aus der Tabelle Teacher_Details:
SELECT COUNT (Teacher_Age) AS Total_Teachers_Age_Column FROM Teacher_Details;
Ausgabe:
Die Ausgabe der obigen SELECT-Abfrage ist zwölf, weil die Lehrer_Alter Das Feld enthält keinen NULL-Wert.
Die folgende Abfrage zählt die Gesamtwerte von Teacher_Interview_Column aus der obigen Tabelle:
SELECT COUNT (Teacher_Interview_Marks) AS Total_Teachers_Interview_Marks FROM Teacher_Details;
Diese Abfrage zeigt die folgende Ausgabe auf dem Bildschirm an:
Die Ausgabe der obigen SELECT-Abfrage ist 7, da zwei fünf Zellen der Spalte Teacher_Interview_Marks NULL enthalten. Und diese fünf NULL-Werte sind ausgeschlossen. Aus diesem Grund zeigt die SELECT-Abfrage im Ergebnis 7 statt 12 an.
Was ist die Count(*)-Funktion?
Auch diese ähnelt der Count-Funktion, der einzige Unterschied besteht jedoch darin, dass sie auch die Anzahl der NULL-Werte aus der Tabelle anzeigt.
Die Syntax der Count (*)-Funktion ist hier angegeben:
SELECT COUNT(*) FROM Name_of_Table;
Beispiel:
Nehmen wir die obigen Teacher_Details:
Lehrer_ID | Der Name des Lehrers | Lehrer_Qualifikation | Lehrer_Alter | Teacher_Interview_Marks |
---|---|---|---|---|
101 | Anuj | B.tech | zwanzig | 88 |
102 | Raman | MCA | 24 | NULL |
104 | Shyam | BBA | 19 | 92 |
107 | Vikash | B.tech | zwanzig | NULL |
111 | Monu | MBA | einundzwanzig | NULL |
114 | Jones | B.tech | 18 | 93 |
121 | Das Haar | BCA | zwanzig | 97 |
123 | Divya | B.tech | einundzwanzig | NULL |
128 | Hemant | MBA | 23 | 90 |
130 | Nidhi | BBA | zwanzig | 88 |
132 | Priya | MBA | 22 | NULL |
138 | Mohit | MCA | einundzwanzig | 92 |
Die folgende Abfrage zählt die Gesamtwerte der Total_Interview_Marks Spalte aus der obigen Tabelle:
SELECT COUNT (*) FROM Teacher_Details;
Die obige SELECT mit COUNT(*)-Abfrage liefert das folgende Ergebnis auf dem Bildschirm:
Was ist DISTINCT in SQL?
Das Schlüsselwort DISTINCT zeigt die eindeutigen Zeilen der Spalte aus der Tabelle im Ergebnis an.
Die Syntax des Schlüsselworts DISTINCT ist hier angegeben:
SELECT DISTINCT Name_of_Column FROM Table_Name WHERE [condition];
In der DISTINCT-Abfrage können wir auch die Bedingung in der WHERE-Klausel zum Abrufen der spezifischen Werte definieren.
Beispiel für DISTINCT
Erstellen Sie zunächst eine neue Tabelle, für die das Schlüsselwort Distinct ausgeführt werden soll.
Die folgende Abfrage erstellt die Bike_Details Tabelle mithilfe der CREATE TABLE-Anweisung:
CREATE TABLE Bike_Details ( Bike_Name varchar(100), Bike_Model INT, Bike_Color varchar(50), Bike_Cost INT );
Die folgenden SQL-Abfragen fügen den Datensatz neuer Fahrräder mithilfe der INSERT INTO-Anweisung in die Tabelle ein:
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);
Die Datensätze der obigen Tabelle werden mithilfe der folgenden SELECT-Abfrage angezeigt:
SELECT * FROM Bike_Details;
Fahrradname | Fahrradmodell | Bike_Color | Fahrrad_Kosten |
---|---|---|---|
KTM DUKE | 2019 | Schwarz | 185000 |
Royal Enfield | 2020 | Schwarz | 165000 |
Drücken Sie | 2018 | Rot | 90000 |
Apache | 2020 | Weiß | 85.000 |
Live | 2018 | Schwarz | 80.000 |
KTM RC | 2020 | Rot | 195.000 |
Tisch: Bike_Details
Die folgende SQL fragt die unterschiedlichen Werte der Spalte „Farbe“ von oben ab Bike_Details Tisch:
Arithmetik-Logikeinheit
SELECT DISTINCT Bike_Color FROM Bikes ;
Ausgabe:
Wie wir sehen können, sind Schwarz, Rot und Weiß drei unterschiedliche Werte in der Spalte Bike_Color.
Zählfunktion mit DISTINCT-Schlüsselwort
Das Schlüsselwort DISTINCT mit der Funktion COUNT in der SELECT-Abfrage zeigt die Anzahl der eindeutigen Daten des Felds aus der Tabelle an.
Die Syntax der Zählfunktion mit dem Schlüsselwort DISTINCT ist unten angegeben:
SELECT COUNT(DISTINCT (Column_Name) FROM table_name WHERE [condition];
Beispiele für die Zählfunktion mit dem Schlüsselwort DISTINCT
Die folgenden zwei SQL-Beispiele erläutern die Ausführung der Count-Funktion mit dem Schlüsselwort Distinct:
Beispiel 1:
Die folgende Abfrage erstellt die Tabelle „College_Students“ mit vier Feldern:
CREATE TABLE College_Students ( Student_Id INT NOT NULL, Student_Name Varchar (40), Student_Age INT, Student_Marks INT );
Die folgende INSERT-Abfrage fügt den Datensatz der Studenten in die Tabelle College_Students ein:
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);
Die folgende Abfrage zeigt die Details der Tabelle „College_Students“:
SELECT * FROM College_Students;
Studenten ID | Name des Studenten | Student_Age | Student_Marks |
---|---|---|---|
101 | Akhil | 28 | 95 |
102 | Abhay | 27 | 86 |
103 | Sorja | 26 | 79 |
104 | Abhishek | 27 | 66 |
105 | Hrithik | 26 | 79 |
106 | Yash | 29 | 88 |
Tabelle: College_Students
Die folgende SQL-Anweisung zählt die eindeutigen Werte der Spalte „Student_Age“ aus der Tabelle „College_Students“:
xampp-Alternative
SELECT COUNT (DISTINCT (Student_Age) AS Unique_Age FROM College_Students ;
Diese Abfrage liefert in der Ausgabe die folgende Tabelle:
Die Ausgabe zeigt die vier Werte, da die Spalte Teacher_age vier eindeutige Werte enthält.
Beispiel 2:
Die folgende Abfrage erstellt die Tabelle IT_Employee mit vier Feldern:
CREATE TABLE IT_Employee ( Employee_Id INT NOT NULL, Employee_Name Varchar (40), Emp_Age INT, Employee_Salary INT );
Die folgende INSERT-Abfrage fügt den Datensatz der IT-Mitarbeiter in die Tabelle IT_Employee ein:
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);
Die folgende Abfrage zeigt die Details der Tabelle IT_Employee:
SELECT * FROM IT_Employee;
Angestellten ID | Mitarbeitername | Employee_Age | Mitarbeiter_Gehalt |
---|---|---|---|
101 | Akhil | 28 | 25000 |
102 | Abhay | 27 | 26000 |
103 | Sorja | 26 | 29000 |
104 | Abhishek | 27 | 26000 |
105 | Hrithik | 26 | 29000 |
106 | Yash | 29 | 25000 |
Tabelle: IT_Employee
Die folgende SQL-Anweisung zählt nur die eindeutigen Werte der Spalte Emp_Age aus der obigen Tabelle IT_Employee:
SELECT COUNT (DISTINCT (Employee_Age)) AS Unique_Age FROM IT_Employee ;
Diese Abfrage liefert die folgende Ausgabe: