Pirms izprast skaitīšanas funkcijas jēdzienu ar DISTINCT atslēgvārdu, mums ir jāzina par atslēgvārdiem Count un Distinct. Tātad, sāksim ar funkciju Count.
Kas ir skaitīšana SQL?
COUNT ir funkcija strukturētā vaicājuma valodā, kas parāda ierakstu skaitu no tabulas rezultātā. SQL tas vienmēr tiek izmantots vaicājumā SELECT.
Funkcijas Count sintakse ir norādīta zemāk:
SELECT COUNT(Name_of_Column) FROM Name_of_Table;
Skaitīšanas piemērā mums ir jādefinē kolonnas nosaukums iekavās tieši aiz atslēgvārda COUNT.
Skaitīšanas funkcijas piemērs
Pirmkārt, mums ir jāizveido jauna tabula, kurā jāizpilda skaitīšanas funkcija.
pievienojot java virknes
Šis vaicājums izveido Skolotājs_detaļas galds ar Skolotāja_ID kā primāro atslēgu, izmantojot priekšrakstu 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 );
Šie SQL vaicājumi ievieto jauno skolotāju ierakstu iepriekš minētajā tabulā, izmantojot INSERT INTO priekšrakstu:
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);
Apskatīsim iepriekš minētās tabulas ierakstu, izmantojot šādu SELECT priekšrakstu:
SELECT * FROM Teacher_Details;
Skolotāja_ID | Skolotāja_vārds | Skolotājs_Kvalifikācija | Skolotāja_vecums | Skolotājs_Intervija_Atzīmes |
---|---|---|---|---|
101 | Anuj | B.tech | divdesmit | 88 |
102 | Ramans | MCA | 24 | NULL |
104 | Shyam | BBA | 19 | 92 |
107 | Vikašs | B.tech | divdesmit | NULL |
111 | Monu | MBA | divdesmitviens | NULL |
114 | Džounss | B.tech | 18 | 93 |
121 | Mati | BCA | divdesmit | 97 |
123 | Divya | B.tech | divdesmitviens | NULL |
128 | Hemant | MBA | 23 | 90 |
130 | Nidhi | BBA | divdesmit | 88 |
132 | Prija | MBA | 22 | NULL |
138 | Mohits | MCA | divdesmitviens | 92 |
Šis vaicājums uzskaita kopējās slejas Teacher_Age vērtības no tabulas Teacher_Details:
SELECT COUNT (Teacher_Age) AS Total_Teachers_Age_Column FROM Teacher_Details;
Izvade:
Iepriekš minētā SELECT vaicājuma izvade ir divpadsmit, jo Skolotāja_vecums laukam nav NULL vērtības.
Šis vaicājums uzskaita kopējās Teacher_Interview_Column vērtības no iepriekšējās tabulas:
SELECT COUNT (Teacher_Interview_Marks) AS Total_Teachers_Interview_Marks FROM Teacher_Details;
Šis vaicājums ekrānā parādīs tālāk norādīto izvadi:
Iepriekš minētā SELECT vaicājuma izvade ir 7, jo divās piecās kolonnas Teacher_Interview_Marks šūnās ir NULL. Un šīs piecas NULL vērtības ir izslēgtas. Tāpēc SELECT vaicājuma rezultātā tiek parādīts 7, nevis 12.
vb un vb tīkls
Kas ir Count (*) funkcija?
Tas ir līdzīgs arī funkcijai Count, taču vienīgā atšķirība ir tā, ka tā parāda arī NULL vērtību skaitu no tabulas.
Funkcijas Skaits (*) sintakse ir norādīta šeit:
SELECT COUNT(*) FROM Name_of_Table;
Piemērs:
Ņemsim iepriekš minēto Teacher_Details:
Skolotāja_ID | Skolotāja_vārds | Skolotājs_Kvalifikācija | Skolotāja_vecums | Skolotājs_Intervija_Atzīmes |
---|---|---|---|---|
101 | Anuj | B.tech | divdesmit | 88 |
102 | Ramans | MCA | 24 | NULL |
104 | Shyam | BBA | 19 | 92 |
107 | Vikašs | B.tech | divdesmit | NULL |
111 | Monu | MBA | divdesmitviens | NULL |
114 | Džounss | B.tech | 18 | 93 |
121 | Mati | BCA | divdesmit | 97 |
123 | Divya | B.tech | divdesmitviens | NULL |
128 | Hemant | MBA | 23 | 90 |
130 | Nidhi | BBA | divdesmit | 88 |
132 | Prija | MBA | 22 | NULL |
138 | Mohits | MCA | divdesmitviens | 92 |
Šis vaicājums uzskaita kopējās vērtības Total_Interview_Marks kolonna no iepriekš esošās tabulas:
SELECT COUNT (*) FROM Teacher_Details;
Iepriekš veiktais SELECT ar COUNT(*) vaicājums ekrānā parādīs šādu rezultātu:
Kas ir DISTINCT SQL?
Atslēgvārds DISTINCT parāda unikālās kolonnas rindas no tabulas rezultātā.
Atslēgvārda DISTINCT sintakse ir norādīta šeit:
SELECT DISTINCT Name_of_Column FROM Table_Name WHERE [condition];
Vaicājumā DISTINCT mēs varam arī definēt nosacījumu WHERE klauzulā konkrēto vērtību izgūšanai.
DISTINCT piemērs
Vispirms izveidojiet jaunu tabulu, kurā tiks palaists atslēgvārds Distinct.
java datums tagad
Šis vaicājums izveido Velosipēdu_detaļas tabula, izmantojot priekšrakstu CREATE TABLE:
CREATE TABLE Bike_Details ( Bike_Name varchar(100), Bike_Model INT, Bike_Color varchar(50), Bike_Cost INT );
Šie SQL vaicājumi ievieto jaunu velosipēdu ierakstu tabulā, izmantojot INSERT INTO priekšrakstu:
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);
Iepriekš minētās tabulas ieraksti tiek parādīti, izmantojot šādu SELECT vaicājumu:
SELECT * FROM Bike_Details;
Velosipēda_nosaukums | Velosipēda_modelis | Bike_Color | Bike_Cost |
---|---|---|---|
KTM HERCGS | 2019. gads | Melns | 185 000 |
Karaliskā Enfīlda | 2020. gads | Melns | 165 000 |
Nospiediet | 2018. gads | sarkans | 90 000 |
Apache | 2020. gads | Balts | 85 000 |
Tiešraide | 2018. gads | Melns | 80 000 |
KTM RC | 2020. gads | sarkans | 195 000 |
Tabula: Velosipēdu_detaļas
Tālāk norādītajā SQL vaicājiet kolonnas Color atšķirīgās vērtības no iepriekš minētā Velosipēdu_detaļas tabula:
SELECT DISTINCT Bike_Color FROM Bikes ;
Izvade:
Kā redzam, Melns, Sarkans un Balts ir trīs atšķirīgas vērtības kolonnā Bike_Color.
Skaitīšanas funkcija ar DISTINCT atslēgvārdu
Atslēgvārds DISTINCT ar funkciju COUNT vaicājumā SELECT parāda lauka unikālo datu skaitu no tabulas.
Skaitīšanas funkcijas sintakse ar DISTINCT atslēgvārdu ir norādīta zemāk:
SELECT COUNT(DISTINCT (Column_Name) FROM table_name WHERE [condition];
Skaitīšanas funkcijas piemēri ar DISTINCT atslēgvārdu
Šie divi SQL piemēri izskaidro Count Function izpildi ar atšķirīgu atslēgvārdu:
1. piemērs:
Šis vaicājums izveido tabulu College_Students ar četriem laukiem:
rakstzīme uz virkni java
CREATE TABLE College_Students ( Student_Id INT NOT NULL, Student_Name Varchar (40), Student_Age INT, Student_Marks INT );
Šis INSERT vaicājums ievieto studentu ierakstu tabulā 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);
Šis vaicājums parāda detalizētu informāciju par College_Students tabulu:
SELECT * FROM College_Students;
Studenta_ID | Studenta vārds | Studentu_vecums | Students_Marks |
---|---|---|---|
101 | Akhil | 28 | 95 |
102 | Abhay | 27 | 86 |
103 | Sorja | 26 | 79 |
104 | Abhišeks | 27 | 66 |
105 | Hrithik | 26 | 79 |
106 | Jašs | 29 | 88 |
Tabula: College_Students
Šis SQL priekšraksts uzskaita unikālās kolonnas Student_Age vērtības no tabulas College_Students:
SELECT COUNT (DISTINCT (Student_Age) AS Unique_Age FROM College_Students ;
Šis vaicājums izvadā sniegs tālāk redzamo tabulu:
Izvadē tiek rādītas četras vērtības, jo kolonnā Teacher_age ir 4 unikālas vērtības.
2. piemērs:
Šis vaicājums izveido tabulu IT_Employee ar četriem laukiem:
CREATE TABLE IT_Employee ( Employee_Id INT NOT NULL, Employee_Name Varchar (40), Emp_Age INT, Employee_Salary INT );
Šis INSERT vaicājums ievieto IT darbinieku ierakstu tabulā 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);
Šis vaicājums parāda informāciju par tabulu IT_Employee:
SELECT * FROM IT_Employee;
Darbinieka ID | Darbinieka vārds | Darbinieka_vecums | Darbinieku_alga |
---|---|---|---|
101 | Akhil | 28 | 25 000 |
102 | Abhay | 27 | 26 000 |
103 | Sorya | 26 | 29 000 |
104 | Abhišeks | 27 | 26 000 |
105 | Hrithik | 26 | 29 000 |
106 | Jašs | 29 | 25 000 |
Tabula: IT_Darbinieks
satur apakšvirkni java
Šis SQL priekšraksts uzskaita tikai kolonnas Emp_Age unikālās vērtības no iepriekš esošās IT_Employee tabulas:
SELECT COUNT (DISTINCT (Employee_Age)) AS Unique_Age FROM IT_Employee ;
Šis vaicājums sniegs šādu izvadi: