Prije razumijevanja koncepta funkcije brojanja s ključnom riječi DISTINCT, moramo znati o ključnim riječima Count i Distinct. Dakle, počnimo s funkcijom Count.
Što je Count u SQL-u?
COUNT je funkcija u jeziku strukturiranih upita koja prikazuje broj zapisa iz tablice u rezultatu. U SQL-u se uvijek koristi u upitu SELECT.
Sintaksa funkcije brojanja data je u nastavku:
SELECT COUNT(Name_of_Column) FROM Name_of_Table;
U primjeru brojanja, moramo definirati naziv stupca u zagradama odmah nakon ključne riječi COUNT.
Primjer funkcije brojanja
Prvo, moramo stvoriti novu tablicu na kojoj će se izvršiti funkcija brojanja.
birač upita
Sljedeći upit stvara Podaci_nastavnika stol sa ID_učitelja kao primarni ključ koristeći naredbu 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 );
Sljedeći SQL upiti umeću zapis novih nastavnika u gornju tablicu pomoću naredbe 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);
Pogledajmo zapis gornje tablice pomoću sljedeće SELECT naredbe:
SELECT * FROM Teacher_Details;
ID_učitelja | Ime_učitelja | Kvalifikacija_učitelja | Dob_učitelja | Ocjene_intervjua_nastavnika |
---|---|---|---|---|
101 | Anuj | B.tech | dvadeset | 88 |
102 | Raman | MCA | 24 | NULL |
104 | Shyam | BBA | 19 | 92 |
107 | Vikash | B.tech | dvadeset | NULL |
111 | Monu | MBA | dvadeset i jedan | NULL |
114 | Jones | B.tech | 18 | 93 |
121 | Kosa | BCA | dvadeset | 97 |
123 | Divya | B.tech | dvadeset i jedan | NULL |
128 | Hemant | MBA | 23 | 90 |
130 | Nidhi | BBA | dvadeset | 88 |
132 | Priya | MBA | 22 | NULL |
138 | Mohit | MCA | dvadeset i jedan | 92 |
Sljedeći upit broji ukupne vrijednosti stupca Teacher_Age iz tablice Teacher_Details:
SELECT COUNT (Teacher_Age) AS Total_Teachers_Age_Column FROM Teacher_Details;
Izlaz:
Izlaz gornjeg SELECT upita je dvanaest jer Dob_učitelja polje ne sadrži nikakvu vrijednost NULL.
Sljedeći upit broji ukupne vrijednosti Teacher_Interview_Column iz gornje tablice:
SELECT COUNT (Teacher_Interview_Marks) AS Total_Teachers_Interview_Marks FROM Teacher_Details;
Ovaj će upit na zaslonu prikazati sljedeći izlaz:
Izlaz gornjeg SELECT upita je 7 jer dvije pet ćelija stupca Teacher_Interview_Marks sadrže NULL. I ovih pet NULL vrijednosti je isključeno. Zato SELECT upit prikazuje 7 umjesto 12 u rezultatu.
ankita lokhande dob
Što je funkcija Count(*)?
Ovo je također slično funkciji Count, ali je jedina razlika u tome što također prikazuje broj NULL vrijednosti iz tablice.
Sintaksa funkcije brojanja (*) dana je ovdje:
SELECT COUNT(*) FROM Name_of_Table;
Primjer:
Uzmimo gornji Teacher_Details:
ID_učitelja | Ime_učitelja | Kvalifikacija_učitelja | Dob_učitelja | Ocjene_intervjua_nastavnika |
---|---|---|---|---|
101 | Anuj | B.tech | dvadeset | 88 |
102 | Raman | MCA | 24 | NULL |
104 | Shyam | BBA | 19 | 92 |
107 | Vikash | B.tech | dvadeset | NULL |
111 | Monu | MBA | dvadeset i jedan | NULL |
114 | Jones | B.tech | 18 | 93 |
121 | Kosa | BCA | dvadeset | 97 |
123 | Divya | B.tech | dvadeset i jedan | NULL |
128 | Hemant | MBA | 23 | 90 |
130 | Nidhi | BBA | dvadeset | 88 |
132 | Priya | MBA | 22 | NULL |
138 | Mohit | MCA | dvadeset i jedan | 92 |
Sljedeći upit broji ukupne vrijednosti za Ukupne_ocjene_intervjua stupac iz gornje tablice:
SELECT COUNT (*) FROM Teacher_Details;
Gornji upit SELECT s COUNT(*) dat će sljedeći rezultat na zaslonu:
Što je DISTINCT u SQL-u?
Ključna riječ DISTINCT prikazuje jedinstvene retke stupca iz tablice u rezultatu.
Sintaksa ključne riječi DISTINCT dana je ovdje:
SELECT DISTINCT Name_of_Column FROM Table_Name WHERE [condition];
U DISTINCT upitu također možemo definirati uvjet u WHERE klauzuli za dohvaćanje specifičnih vrijednosti.
Primjer DISTINCT
Prvo stvorite novu tablicu na kojoj će se pokrenuti ključna riječ Distinct.
java izlazni znak
Sljedeći upit stvara Bike_Details tablica pomoću naredbe CREATE TABLE:
CREATE TABLE Bike_Details ( Bike_Name varchar(100), Bike_Model INT, Bike_Color varchar(50), Bike_Cost INT );
Sljedeći SQL upiti umeću zapis novih bicikala u tablicu pomoću naredbe 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 gornje tablice prikazani su korištenjem sljedećeg SELECT upita:
SELECT * FROM Bike_Details;
Ime_bicikla | Model_bicikla | Boja_bicikla | Cijena_bicikla |
---|---|---|---|
KTM DUKE | 2019 | Crno | 185000 |
Royal Enfield | 2020 | Crno | 165000 |
Pritisnite | 2018 | Crvena | 90000 |
Apache | 2020 | Bijela | 85.000 |
Uživo | 2018 | Crno | 80.000 |
KTM RC | 2020 | Crvena | 195.000 |
Stol: Bike_Details
Sljedeći SQL postavlja različite vrijednosti stupca Boja iz gornjeg Bike_Details stol:
SELECT DISTINCT Bike_Color FROM Bikes ;
Izlaz:
Kao što vidimo, crno, crveno i bijelo tri su različite vrijednosti u stupcu Bike_Color.
Funkcija brojanja s ključnom riječi DISTINCT
Ključna riječ DISTINCT s funkcijom COUNT u upitu SELECT prikazuje broj jedinstvenih podataka polja iz tablice.
Sintaksa funkcije brojanja s ključnom riječi DISTINCT dana je u nastavku:
SELECT COUNT(DISTINCT (Column_Name) FROM table_name WHERE [condition];
Primjeri funkcije brojanja s ključnom riječi DISTINCT
Sljedeća dva SQL primjera objasnit će izvođenje funkcije Count s ključnom riječi Distinct:
Primjer 1:
Sljedeći upit stvara tablicu College_Students s četiri polja:
repl u Javi
CREATE TABLE College_Students ( Student_Id INT NOT NULL, Student_Name Varchar (40), Student_Age INT, Student_Marks INT );
Sljedeći upit INSERT umeće zapis studenata u tablicu 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);
Sljedeći upit prikazuje detalje tablice College_Students:
SELECT * FROM College_Students;
Studentska iskaznica | Ime studenta | Dob_učenika | Ocjene_učenika |
---|---|---|---|
101 | Akhil | 28 | 95 |
102 | Abhay | 27 | 86 |
103 | Sorya | 26 | 79 |
104 | Abhishek | 27 | 66 |
105 | Hrithik | 26 | 79 |
106 | Yash | 29 | 88 |
Tablica: Fakultet_Studenti
Sljedeća SQL izjava broji jedinstvene vrijednosti stupca Student_Age iz tablice College_Students:
SELECT COUNT (DISTINCT (Student_Age) AS Unique_Age FROM College_Students ;
Ovaj upit će u izlazu dati tablicu ispod:
Izlaz prikazuje četiri vrijednosti jer stupac Teacher_age sadrži 4 jedinstvene vrijednosti.
Primjer 2:
Sljedeći upit stvara tablicu IT_Employee s četiri polja:
CREATE TABLE IT_Employee ( Employee_Id INT NOT NULL, Employee_Name Varchar (40), Emp_Age INT, Employee_Salary INT );
Sljedeći INSERT upit umeće zapis IT zaposlenika u tablicu 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);
Sljedeći upit prikazuje detalje tablice IT_Employee:
SELECT * FROM IT_Employee;
Employee_Id | Ime zaposlenika | Dob_zaposlenika | Plaća_zaposlenika |
---|---|---|---|
101 | Akhil | 28 | 25000 |
102 | Abhay | 27 | 26000 |
103 | Sorya | 26 | 29000 |
104 | Abhishek | 27 | 26000 |
105 | Hrithik | 26 | 29000 |
106 | Yash | 29 | 25000 |
Tablica: IT_Zaposlenik
tostring metoda
Sljedeća SQL izjava broji samo jedinstvene vrijednosti stupca Emp_Age iz gornje tablice IT_Employee:
SELECT COUNT (DISTINCT (Employee_Age)) AS Unique_Age FROM IT_Employee ;
Ovaj upit će dati sljedeći rezultat: