logo

SQL COUNT DISTINCT

Preden razumemo koncept funkcije štetja s ključno besedo DISTINCT, moramo vedeti o ključnih besedah ​​Count in Distinct. Torej, začnimo s funkcijo štetja.

Kaj je štetje v SQL?

COUNT je funkcija v jeziku strukturiranih poizvedb, ki prikazuje število zapisov iz tabele v rezultatu. V SQL se vedno uporablja v poizvedbi SELECT.

Sintaksa funkcije Count je podana spodaj:

 SELECT COUNT(Name_of_Column) FROM Name_of_Table; 

V primeru štetja moramo določiti ime stolpca v oklepaju takoj za ključno besedo COUNT.

Primer funkcije štetja

Najprej moramo ustvariti novo tabelo, na kateri naj se izvaja funkcija štetja.

Naslednja poizvedba ustvari Teacher_Details tabela z Teacher_ID kot primarni ključ z uporabo stavka 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 ); 

Naslednje poizvedbe SQL vstavijo zapis novih učiteljev v zgornjo tabelo z uporabo izjave 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); 

Oglejmo si zapis zgornje tabele z naslednjim stavkom SELECT:

 SELECT * FROM Teacher_Details; 

Teacher_ID Ime_učitelja Kvalifikacija_učitelja Starost_učitelja Ocene_razgovora_učitelja
101 Anuj B.tech dvajset 88
102 Raman MCA 24 NIČ
104 Shyam BBA 19 92
107 Vikash B.tech dvajset NIČ
111 Monu MBA enaindvajset NIČ
114 Jones B.tech 18 93
121 Lasje BCA dvajset 97
123 Divya B.tech enaindvajset NIČ
128 Hemant MBA 23 90
130 Nidhi BBA dvajset 88
132 Priya MBA 22 NIČ
138 Mohit MCA enaindvajset 92

Naslednja poizvedba prešteje skupne vrednosti stolpca Teacher_Age iz tabele Teacher_Details:

 SELECT COUNT (Teacher_Age) AS Total_Teachers_Age_Column FROM Teacher_Details; 

Izhod:

delni derivat v lateksu
SQL COUNT DISTINCT

Rezultat zgornje poizvedbe SELECT je dvanajst, ker je Starost_učitelja polje ne vsebuje nobene vrednosti NULL.

Naslednja poizvedba prešteje skupne vrednosti stolpca Teacher_Interview_Column iz zgornje tabele:

 SELECT COUNT (Teacher_Interview_Marks) AS Total_Teachers_Interview_Marks FROM Teacher_Details; 

Ta poizvedba bo na zaslonu prikazala spodnji rezultat:

SQL COUNT DISTINCT

Rezultat zgornje poizvedbe SELECT je 7, ker dve peti celici stolpca Teacher_Interview_Marks vsebujeta NULL. In teh pet vrednosti NULL je izključenih. Zato poizvedba SELECT v rezultatu prikaže 7 namesto 12.

Kaj je funkcija Count(*)?

Tudi to je podobno funkciji Count, vendar je edina razlika v tem, da prikaže tudi število vrednosti NULL iz tabele.

Sintaksa funkcije štetja (*) je podana tukaj:

 SELECT COUNT(*) FROM Name_of_Table; 

primer:

Vzemimo zgornje Teacher_Details:

Teacher_ID Ime_učitelja Kvalifikacija_učitelja Starost_učitelja Ocene_razgovora_učitelja
101 Anuj B.tech dvajset 88
102 Raman MCA 24 NIČ
104 Shyam BBA 19 92
107 Vikash B.tech dvajset NIČ
111 Monu MBA enaindvajset NIČ
114 Jones B.tech 18 93
121 Lasje BCA dvajset 97
123 Divya B.tech enaindvajset NIČ
128 Hemant MBA 23 90
130 Nidhi BBA dvajset 88
132 Priya MBA 22 NIČ
138 Mohit MCA enaindvajset 92

Naslednja poizvedba prešteje skupne vrednosti Skupne_ocene_intervjujev stolpec iz zgornje tabele:

kali linux terminal
 SELECT COUNT (*) FROM Teacher_Details; 

Zgornja poizvedba SELECT with COUNT(*) bo na zaslonu dala spodnji rezultat:

SQL COUNT DISTINCT

Kaj je DISTINCT v SQL?

Ključna beseda DISTINCT prikazuje edinstvene vrstice stolpca iz tabele v rezultatu.

Sintaksa ključne besede DISTINCT je podana tukaj:

 SELECT DISTINCT Name_of_Column FROM Table_Name WHERE [condition]; 

V poizvedbi DISTINCT lahko definiramo tudi pogoj v klavzuli WHERE za pridobivanje določenih vrednosti.

Primer DISTINCT

Najprej ustvarite novo tabelo, v kateri naj se izvaja ključna beseda Distinct.

poravnaj sliko s css

Naslednja poizvedba ustvari Bike_Details tabelo z uporabo stavka CREATE TABLE:

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

Naslednje poizvedbe SQL vstavijo zapis novih koles v tabelo z uporabo stavka 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); 

Zapisi zgornje tabele so prikazani z uporabo naslednje poizvedbe SELECT:

 SELECT * FROM Bike_Details; 

Ime_kolesa Model_kolesa Bike_Color Bike_Cost
KTM DUKE 2019 Črna 185000
Royal Enfield 2020 Črna 165000
Pritisnite 2018 rdeča 90000
Apache 2020 Bela 85.000
V živo 2018 Črna 80.000
KTM RC 2020 rdeča 195.000

Tabela: Bike_Details

Naslednji SQL poizveduje po različnih vrednostih stolpca Barva iz zgornjega Bike_Details tabela:

 SELECT DISTINCT Bike_Color FROM Bikes ; 

Izhod:

SQL COUNT DISTINCT

Kot lahko vidimo, so črna, rdeča in bela tri različne vrednosti v stolpcu Bike_Color.

kako razkriti skrite aplikacije

Funkcija štetja s ključno besedo DISTINCT

Ključna beseda DISTINCT s funkcijo COUNT v poizvedbi SELECT prikaže število enoličnih podatkov polja iz tabele.

Sintaksa funkcije štetja s ključno besedo DISTINCT je podana spodaj:

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

Primeri funkcije štetja s ključno besedo DISTINCT

Naslednja dva primera SQL pojasnjujeta izvajanje funkcije štetja s ključno besedo Distinct:

Primer 1:

Naslednja poizvedba ustvari tabelo College_Students s štirimi polji:

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

Naslednja poizvedba INSERT vstavi zapis študentov v tabelo 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); 

Naslednja poizvedba prikazuje podrobnosti tabele College_Students:

 SELECT * FROM College_Students; 

Študent_Id Študentsko ime Študentska_starost Študentske_ocene
101 Akhil 28 95
102 Abhay 27 86
103 Sorya 26 79
104 Abhishek 27 66
105 Hrithik 26 79
106 Jaš 29 88

Tabela: Fakulteta_Študenti

Naslednji stavek SQL šteje edinstvene vrednosti stolpca Student_Age iz tabele College_Students:

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

Ta poizvedba bo v izhodu dala spodnjo tabelo:

SQL COUNT DISTINCT

Izhod prikazuje štiri vrednosti, ker stolpec Teacher_age vsebuje 4 edinstvene vrednosti.

java main

Primer 2:

Naslednja poizvedba ustvari tabelo IT_Employee s štirimi polji:

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

Naslednja poizvedba INSERT vstavi zapis zaposlenih v IT v tabelo 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); 

Naslednja poizvedba prikazuje podrobnosti tabele IT_Employee:

 SELECT * FROM IT_Employee; 

Employee_Id Ime zaposlenega Starost_zaposlenega Plača_zaposlenega
101 Akhil 28 25000
102 Abhay 27 26000
103 Sorya 26 29000
104 Abhishek 27 26000
105 Hrithik 26 29000
106 Jaš 29 25000

Tabela: IT_zaposleni

Naslednji stavek SQL šteje samo edinstvene vrednosti stolpca Emp_Age iz zgornje tabele IT_Employee:

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

Ta poizvedba bo dala spodnji rezultat:

SQL COUNT DISTINCT