logo

SQL-AANTAL DISTINCT

Voordat we het concept van de Count-functie met het DISTINCT-trefwoord begrijpen, moeten we de trefwoorden Count en Distinct kennen. Laten we dus beginnen met de Count-functie.

Wat is Aantal in SQL?

De COUNT is een functie in Structured Query Language die het aantal records uit de tabel in het resultaat weergeeft. In SQL wordt het altijd gebruikt in de SELECT-query.

bevat in tekenreeks

De syntaxis van de Count-functie wordt hieronder gegeven:

 SELECT COUNT(Name_of_Column) FROM Name_of_Table; 

In het count-voorbeeld moeten we de naam van de kolom tussen haakjes definiëren, net na het trefwoord COUNT.

Voorbeeld van telfunctie

Eerst moeten we een nieuwe tabel maken waarop de telfunctie moet worden uitgevoerd.

Met de volgende query wordt het Docent_details tafel met Docent_ID als de primaire sleutel met behulp van de CREATE TABLE-instructie:

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

Met de volgende SQL-query's wordt het record van nieuwe docenten in de bovenstaande tabel ingevoegd met behulp van de instructie 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); 

Laten we het record van de bovenstaande tabel bekijken met behulp van de volgende SELECT-instructie:

 SELECT * FROM Teacher_Details; 

Docent_ID Naam leraar Docent_Kwalificatie Leraar_Leeftijd Docent_Interview_Marks
101 Anuj B.tech twintig 88
102 Raman MCA 24 NUL
104 Shyam BBA 19 92
107 Vikash B.tech twintig NUL
111 Monu MBA eenentwintig NUL
114 Jones B.tech 18 93
121 Het haar BCA twintig 97
123 Divya B.tech eenentwintig NUL
128 Hemant MBA 23 90
130 Nidhi BBA twintig 88
132 Priya MBA 22 NUL
138 Mohit MCA eenentwintig 92

De volgende query telt de totale waarden van de kolom Teacher_Age uit de tabel Teacher_Details:

 SELECT COUNT (Teacher_Age) AS Total_Teachers_Age_Column FROM Teacher_Details; 

Uitgang:

SQL-AANTAL DISTINCT

De uitvoer van de bovenstaande SELECT-query is twaalf omdat de Leraar_Leeftijd veld bevat geen NULL-waarde.

De volgende query telt de totale waarden van Teacher_Interview_Column uit de bovenstaande tabel:

 SELECT COUNT (Teacher_Interview_Marks) AS Total_Teachers_Interview_Marks FROM Teacher_Details; 

Deze query toont de onderstaande uitvoer op het scherm:

SQL-AANTAL DISTINCT

De uitvoer van de bovenstaande SELECT-query is 7 omdat twee vijf cellen van de kolom Teacher_Interview_Marks NULL bevatten. En deze vijf NULL-waarden zijn uitgesloten. Daarom geeft de SELECT-query 7 in plaats van 12 weer in het resultaat.

Wat is de functie Count(*)?

Dit is ook vergelijkbaar met de Count-functie, maar het enige verschil is dat deze ook het aantal NULL-waarden uit de tabel weergeeft.

De syntaxis van de functie Aantal (*) wordt hier gegeven:

 SELECT COUNT(*) FROM Name_of_Table; 

Voorbeeld:

acteur ranbir kapoor leeftijd

Laten we de bovenstaande Teacher_Details nemen:

Docent_ID Naam leraar Leraar_Kwalificatie Leraar_Leeftijd Docent_Interview_Marks
101 Anuj B.tech twintig 88
102 Raman MCA 24 NUL
104 Shyam BBA 19 92
107 Vikash B.tech twintig NUL
111 Monu MBA eenentwintig NUL
114 Jones B.tech 18 93
121 Het haar BCA twintig 97
123 Divya B.tech eenentwintig NUL
128 Hemant MBA 23 90
130 Nidhi BBA twintig 88
132 Priya MBA 22 NUL
138 Mohit MCA eenentwintig 92

De volgende query telt de totale waarden van de Totaal_interview_punten kolom uit de bovenstaande tabel:

 SELECT COUNT (*) FROM Teacher_Details; 

De bovenstaande SELECT met COUNT(*)-query geeft het onderstaande resultaat op het scherm:

SQL-AANTAL DISTINCT

Wat is DISTINCT in SQL?

Het trefwoord DISTINCT toont de unieke rijen van de kolom uit de tabel in het resultaat.

De syntaxis van het trefwoord DISTINCT wordt hier gegeven:

 SELECT DISTINCT Name_of_Column FROM Table_Name WHERE [condition]; 

In de DISTINCT-query kunnen we ook de voorwaarde in de WHERE-clausule definiëren voor het ophalen van de specifieke waarden.

Voorbeeld van DISTINCT

Maak eerst een nieuwe tabel waarop het trefwoord Distinct moet worden uitgevoerd.

zoekmachine en voorbeelden

Met de volgende query wordt het Fietsdetails tabel met behulp van de CREATE TABLE-instructie:

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

De volgende SQL-query's voegen het record van nieuwe fietsen in de tabel met behulp van de instructie 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); 

De records uit de bovenstaande tabel worden weergegeven met behulp van de volgende SELECT-query:

 SELECT * FROM Bike_Details; 

Fietsnaam Fiets_Model Fiets_kleur Fiets_kosten
KTM-DUKE 2019 Zwart 185000
Koninklijke Enfield 2020 Zwart 165000
druk op 2018 Rood 90000
Apache 2020 Wit 85.000
Live 2018 Zwart 80.000
KTM RC 2020 Rood 195.000

Tafel: Fietsdetails

De volgende SQL vraagt ​​de verschillende waarden van de kolom Kleur op uit het bovenstaande Fietsdetails tafel:

 SELECT DISTINCT Bike_Color FROM Bikes ; 

Uitgang:

SQL-AANTAL DISTINCT

Zoals we kunnen zien, zijn Zwart, Rood en Wit drie verschillende waarden in de kolom Bike_Color.

Telfunctie met DISTINCT trefwoord

Het trefwoord DISTINCT met de functie COUNT in de SELECT-query geeft het aantal unieke gegevens van het veld uit de tabel weer.

De syntaxis van de telfunctie met het trefwoord DISTINCT wordt hieronder gegeven:

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

Voorbeelden van de telfunctie met het trefwoord DISTINCT

De volgende twee SQL-voorbeelden leggen de uitvoering van de Count-functie met het Distinct-trefwoord uit:

Voorbeeld 1:

Met de volgende query wordt de tabel College_Students gemaakt met vier velden:

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

Met de volgende INSERT-query wordt het record van studenten ingevoegd in de tabel 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); 

De volgende query toont de details van de tabel College_Students:

 SELECT * FROM College_Students; 

Student_ID Studenten naam Student_Leeftijd Student_Marks
101 Akhil 28 95
102 Abhay 27 86
103 Sorya 26 79
104 Abishek 27 66
105 Hrithik 26 79
106 Jaj 29 88

Tabel: College_Studenten

De volgende SQL-instructie telt de unieke waarden van de kolom Student_Age uit de tabel College_Students:

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

Deze query geeft de onderstaande tabel in de uitvoer:

SQL-AANTAL DISTINCT

De uitvoer toont de vier waarden omdat de kolom Teacher_age vier unieke waarden bevat.

Voorbeeld 2:

Met de volgende query wordt de tabel IT_Employee met vier velden gemaakt:

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

De volgende INSERT-query voegt de record van IT-werknemers in de tabel IT_Employee in:

Java 8-functies
 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); 

De volgende query toont de details van de tabel IT_Employee:

 SELECT * FROM IT_Employee; 

Werknemer_ID Naam werknemer Werknemer_Leeftijd Werknemer_Salaris
101 Akhil 28 25000
102 Abhay 27 26000
103 Sorya 26 29000
104 Abishek 27 26000
105 Hrithik 26 29000
106 Jaj 29 25000

Tabel: IT_Werknemer

De volgende SQL-instructie telt alleen de unieke waarden van de kolom Emp_Age uit de bovenstaande IT_Employee-tabel:

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

Deze query levert de onderstaande uitvoer op:

SQL-AANTAL DISTINCT