Mielőtt megértené a Count Function fogalmát a DISTINCT kulcsszóval, ismernünk kell a Count és Distinct kulcsszavakat. Tehát kezdjük a Count függvénnyel.
Mi a Count az SQL-ben?
A COUNT a strukturált lekérdezési nyelv függvénye, amely a táblázat rekordjainak számát mutatja az eredményben. SQL-ben mindig a SELECT lekérdezésben használják.
A Count függvény szintaxisa az alábbiakban látható:
SELECT COUNT(Name_of_Column) FROM Name_of_Table;
A count példában a COUNT kulcsszó után zárójelben kell megadnunk az oszlop nevét.
Példa a Count függvényre
Először is létre kell hoznunk egy új táblát, amelyen a count függvényt végre kell hajtani.
A következő lekérdezés létrehozza a Tanár_Részletek asztallal Tanári_azonosító elsődleges kulcsként a CREATE TABLE utasítás használatával:
java string.format
CREATE TABLE Teacher_Details ( Teacher_ID INT NOT NULL, Teacher_Name varchar(100), Teacher_Qualification varchar(50), Teacher_Age INT, Teacher_Interview_Marks INT );
A következő SQL lekérdezések az INSERT INTO utasítással beszúrják az új tanárok rekordját a fenti táblába:
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);
Lássuk a fenti táblázat rekordját a következő SELECT utasítással:
SELECT * FROM Teacher_Details;
Tanári_azonosító | Tanár neve | Tanári_Képesítés | Tanár_életkor | Tanári_interjú_jelek |
---|---|---|---|---|
101 | Anuj | B.tech | húsz | 88 |
102 | Raman | MCA | 24 | NULLA |
104 | Shyam | BBA | 19 | 92 |
107 | Vikash | B.tech | húsz | NULLA |
111 | Monu | MBA | huszonegy | NULLA |
114 | Jones | B.tech | 18 | 93 |
121 | A haj | BCA | húsz | 97 |
123 | Divya | B.tech | huszonegy | NULLA |
128 | Hemant | MBA | 23 | 90 |
130 | Nidhi | BBA | húsz | 88 |
132 | Priya | MBA | 22 | NULLA |
138 | Mohit | MCA | huszonegy | 92 |
A következő lekérdezés megszámolja a Teacher_Age oszlop összesített értékét a Teacher_Details táblázatból:
SELECT COUNT (Teacher_Age) AS Total_Teachers_Age_Column FROM Teacher_Details;
Kimenet:
A fenti SELECT lekérdezés kimenete tizenkettő, mert a Tanár_életkor mező nem tartalmaz NULL értéket.
A következő lekérdezés a Teacher_Interview_Column teljes értékét számolja a fenti táblázatból:
SELECT COUNT (Teacher_Interview_Marks) AS Total_Teachers_Interview_Marks FROM Teacher_Details;
Ez a lekérdezés az alábbi kimenetet jeleníti meg a képernyőn:
A fenti SELECT lekérdezés kimenete 7, mert a Teacher_Interview_Marks oszlop két öt cellája NULL értéket tartalmaz. És ez az öt NULL érték ki van zárva. Ezért a SELECT lekérdezés 12 helyett 7-et jelenít meg az eredményben.
Mi az a Count(*) függvény?
Ez is hasonló a Count függvényhez, de az egyetlen különbség az, hogy a táblázatból a NULL értékek számát is megjeleníti.
A Count (*) függvény szintaxisa itt található:
SELECT COUNT(*) FROM Name_of_Table;
Példa:
a dátumok eltérése Excelben
Vegyük a fenti Teacher_Details-t:
Tanári_azonosító | Tanár neve | Tanári_Képesítés | Tanár_életkor | Tanári_interjú_jelek |
---|---|---|---|---|
101 | Anuj | B.tech | húsz | 88 |
102 | Raman | MCA | 24 | NULLA |
104 | Shyam | BBA | 19 | 92 |
107 | Vikash | B.tech | húsz | NULLA |
111 | Monu | MBA | huszonegy | NULLA |
114 | Jones | B.tech | 18 | 93 |
121 | A haj | BCA | húsz | 97 |
123 | Divya | B.tech | huszonegy | NULLA |
128 | Hemant | MBA | 23 | 90 |
130 | Nidhi | BBA | húsz | 88 |
132 | Priya | MBA | 22 | NULLA |
138 | Mohit | MCA | huszonegy | 92 |
A következő lekérdezés a teljes értékét számolja Total_Interview_Marks oszlop a fenti táblázatból:
SELECT COUNT (*) FROM Teacher_Details;
A fenti SELECT with COUNT(*) lekérdezés az alábbi eredményt adja a képernyőn:
Mi a DISTINCT az SQL-ben?
A DISTINCT kulcsszó az oszlop egyedi sorait jeleníti meg a táblázatból az eredményben.
A DISTINCT kulcsszó szintaxisa itt található:
SELECT DISTINCT Name_of_Column FROM Table_Name WHERE [condition];
A DISTINCT lekérdezésben a WHERE záradékban is megadhatjuk a feltételt az adott értékek lekéréséhez.
Példa a DISTINCT-re
Először hozzon létre egy új táblázatot, amelyen a Distinct kulcsszót futtatni kell.
A következő lekérdezés létrehozza a Bike_Details táblázat a CREATE TABLE utasítással:
CREATE TABLE Bike_Details ( Bike_Name varchar(100), Bike_Model INT, Bike_Color varchar(50), Bike_Cost INT );
A következő SQL lekérdezések az INSERT INTO utasítással beszúrják az új kerékpárok rekordját a táblázatba:
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);
A fenti táblázat rekordjai a következő SELECT lekérdezéssel jelennek meg:
SELECT * FROM Bike_Details;
Bike_Name | Bike_Model | Bike_Color | Bike_Cost |
---|---|---|---|
KTM DUKE | 2019 | Fekete | 185 000 |
Royal Enfield | 2020 | Fekete | 165 000 |
nyomja meg | 2018 | Piros | 90000 |
Apache | 2020 | fehér | 85 000 |
Élő | 2018 | Fekete | 80.000 |
KTM RC | 2020 | Piros | 195 000 |
Asztal: Bike_Details
A következő SQL lekérdezi a Color oszlop fentiektől eltérő értékeit Bike_Details asztal:
SELECT DISTINCT Bike_Color FROM Bikes ;
Kimenet:
Amint látjuk, a Fekete, Piros és Fehér három különálló érték a Bike_Color oszlopban.
Számoló függvény DISTINCT kulcsszóval
A DISTINCT kulcsszó a COUNT függvénnyel a SELECT lekérdezésben megjeleníti a mező egyedi adatainak számát a táblázatból.
A DISTINCT kulcsszóval rendelkező Count függvény szintaxisa az alábbiakban látható:
SELECT COUNT(DISTINCT (Column_Name) FROM table_name WHERE [condition];
Példák a DISTINCT kulcsszóval rendelkező Count függvényre
A következő két SQL-példa elmagyarázza a Count Function Distinct kulcsszóval történő végrehajtását:
1. példa:
A következő lekérdezés létrehozza a College_Students táblát négy mezővel:
CREATE TABLE College_Students ( Student_Id INT NOT NULL, Student_Name Varchar (40), Student_Age INT, Student_Marks INT );
A következő INSERT lekérdezés beszúrja a hallgatók rekordját a College_Students táblába:
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);
A következő lekérdezés a College_Students táblázat részleteit mutatja:
SELECT * FROM College_Students;
Diákigazolvány | Tanuló név | Diák_kor | Student_Marks |
---|---|---|---|
101 | Akhil | 28 | 95 |
102 | Abhay | 27 | 86 |
103 | Sorya | 26 | 79 |
104 | Abhishek | 27 | 66 |
105 | Hrithik | 26 | 79 |
106 | Yash | 29 | 88 |
Táblázat: Főiskola_Diákok
A következő SQL utasítás a College_Students tábla Student_Age oszlopának egyedi értékeit számolja meg:
mi az f5 a billentyűzeten
SELECT COUNT (DISTINCT (Student_Age) AS Unique_Age FROM College_Students ;
Ez a lekérdezés az alábbi táblázatot adja a kimenetben:
A kimenet a négy értéket mutatja, mivel a Teacher_age oszlop 4 egyedi értéket tartalmaz.
2. példa:
A következő lekérdezés létrehozza az IT_Employee táblát négy mezővel:
CREATE TABLE IT_Employee ( Employee_Id INT NOT NULL, Employee_Name Varchar (40), Emp_Age INT, Employee_Salary INT );
A következő INSERT lekérdezés beszúrja az IT-alkalmazottak rekordját az IT_Employee táblába:
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);
A következő lekérdezés az IT_Employee tábla részleteit jeleníti meg:
SELECT * FROM IT_Employee;
Munkavállalói azonosító | Alkalmazott Neve | Munkavállaló_életkora | Munkavállalói fizetés |
---|---|---|---|
101 | Akhil | 28 | 25000 |
102 | Abhay | 27 | 26000 |
103 | Sorya | 26 | 29000 |
104 | Abhishek | 27 | 26000 |
105 | Hrithik | 26 | 29000 |
106 | Yash | 29 | 25000 |
Táblázat: IT_Munkavállaló
A következő SQL utasítás csak az Emp_Age oszlop egyedi értékeit számolja a fenti IT_Employee táblából:
SELECT COUNT (DISTINCT (Employee_Age)) AS Unique_Age FROM IT_Employee ;
Ez a lekérdezés az alábbi kimenetet adja: