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:
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:
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:
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:
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:
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: