logo

SQL SKAITS ATŠĶIRĪGS

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:

SQL SKAITS ATŠĶIRĪGS

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:

SQL SKAITS ATŠĶIRĪGS

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:

SQL SKAITS ATŠĶIRĪGS

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:

SQL SKAITS ATŠĶIRĪGS

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:

SQL SKAITS ATŠĶIRĪGS

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:

SQL SKAITS ATŠĶIRĪGS