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