Prieš suprasdami skaičiavimo funkcijos sąvoką su DISTINCT raktiniu žodžiu, turime žinoti apie Count ir Distinct raktinius žodžius. Taigi, pradėkime nuo funkcijos Count.
Kas yra skaičius SQL?
SKAIČIUS yra struktūrinės užklausos kalbos funkcija, rodanti lentelės įrašų skaičių rezultate. SQL jis visada naudojamas SELECT užklausoje.
Funkcijos Count sintaksė pateikta žemiau:
SELECT COUNT(Name_of_Column) FROM Name_of_Table;
Skaičiavimo pavyzdyje turime apibrėžti stulpelio pavadinimą skliausteliuose iškart po raktinio žodžio COUNT.
yra ypatingas personažas
Skaičiavimo funkcijos pavyzdys
Pirmiausia turime sukurti naują lentelę, kurioje turi būti vykdoma skaičiavimo funkcija.
Ši užklausa sukuria Teacher_Details stalas su Mokytojo_ID kaip pirminį raktą naudojant CREATE TABLE teiginį:
CREATE TABLE Teacher_Details ( Teacher_ID INT NOT NULL, Teacher_Name varchar(100), Teacher_Qualification varchar(50), Teacher_Age INT, Teacher_Interview_Marks INT );
Šios SQL užklausos įterpia naujų mokytojų įrašą į aukščiau pateiktą lentelę naudodami INSERT INTO sakinį:
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);
Pažiūrėkime aukščiau pateiktos lentelės įrašą naudodami šį SELECT teiginį:
SELECT * FROM Teacher_Details;
Mokytojo_ID | Mokytojo_vardas | Mokytojo_kvalifikacija | Mokytojo_amžius | Mokytojo_Interviu_Žymės |
---|---|---|---|---|
101 | Anuj | B.tech | dvidešimt | 88 |
102 | Ramanas | MCA | 24 | NULL |
104 | Shyam | BBA | 19 | 92 |
107 | Vikašas | B.tech | dvidešimt | NULL |
111 | Monu | MBA | dvidešimt vienas | NULL |
114 | Jonesas | B.tech | 18 | 93 |
121 | Plaukai | BCA | dvidešimt | 97 |
123 | Divya | B.tech | dvidešimt vienas | NULL |
128 | Hemantas | MBA | 23 | 90 |
130 | Nidhi | BBA | dvidešimt | 88 |
132 | Priya | MBA | 22 | NULL |
138 | Mohitas | MCA | dvidešimt vienas | 92 |
Ši užklausa skaičiuoja bendras stulpelio Teacher_Age vertes iš lentelės Teacher_Details:
SELECT COUNT (Teacher_Age) AS Total_Teachers_Age_Column FROM Teacher_Details;
Išvestis:
Aukščiau pateiktos SELECT užklausos išvestis yra dvylika, nes Mokytojo_amžius lauke nėra jokios NULL reikšmės.
Ši užklausa skaičiuoja bendras Teacher_Interview_Column reikšmes iš aukščiau pateiktos lentelės:
SELECT COUNT (Teacher_Interview_Marks) AS Total_Teachers_Interview_Marks FROM Teacher_Details;
Ši užklausa ekrane parodys žemiau pateiktą išvestį:
Aukščiau pateiktos SELECT užklausos išvestis yra 7, nes dviejuose penkiuose stulpelio Teacher_Interview_Marks langeliuose yra NULL. Ir šios penkios NULL reikšmės neįtraukiamos. Štai kodėl SELECT užklausa rezultate rodo 7, o ne 12.
Kas yra Count (*) funkcija?
Tai taip pat panaši į funkciją Count, tačiau vienintelis skirtumas yra tas, kad ji taip pat rodo NULL verčių skaičių iš lentelės.
Funkcijos Skaičiavimas (*) sintaksė pateikiama čia:
SELECT COUNT(*) FROM Name_of_Table;
Pavyzdys:
Paimkime aukščiau pateiktą „Teacher_Details“:
Mokytojo_ID | Mokytojo_vardas | Mokytojo_kvalifikacija | Mokytojo_amžius | Mokytojo_Interviu_Žymės |
---|---|---|---|---|
101 | Anuj | B.tech | dvidešimt | 88 |
102 | Ramanas | MCA | 24 | NULL |
104 | Shyam | BBA | 19 | 92 |
107 | Vikašas | B.tech | dvidešimt | NULL |
111 | Monu | MBA | dvidešimt vienas | NULL |
114 | Jonesas | B.tech | 18 | 93 |
121 | Plaukai | BCA | dvidešimt | 97 |
123 | Divya | B.tech | dvidešimt vienas | NULL |
128 | Hemantas | MBA | 23 | 90 |
130 | Nidhi | BBA | dvidešimt | 88 |
132 | Priya | MBA | 22 | NULL |
138 | Mohitas | MCA | dvidešimt vienas | 92 |
Ši užklausa skaičiuoja bendras reikšmes Total_Interview_Marks stulpelis iš aukščiau pateiktos lentelės:
SELECT COUNT (*) FROM Teacher_Details;
Aukščiau pateikta SELECT with COUNT (*) užklausa parodys tokį rezultatą ekrane:
Kas yra DISTINCT SQL?
Raktinis žodis DISTINCT rodo unikalias rezultato lentelės stulpelio eilutes.
DISTINCT raktinio žodžio sintaksė pateikiama čia:
SELECT DISTINCT Name_of_Column FROM Table_Name WHERE [condition];
Užklausoje DISTINCT taip pat galime apibrėžti sąlygą WHERE, skirtą konkrečioms reikšmėms gauti.
java pridėti eilutę
DISTINCT pavyzdys
Pirmiausia sukurkite naują lentelę, kurioje bus paleistas išskirtinis raktinis žodis.
valdymo struktūrų python
Ši užklausa sukuria Bike_Details lentelė naudojant CREATE TABLE teiginį:
CREATE TABLE Bike_Details ( Bike_Name varchar(100), Bike_Model INT, Bike_Color varchar(50), Bike_Cost INT );
Šios SQL užklausos įterpia naujų dviračių įrašą į lentelę naudojant INSERT INTO sakinį:
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);
Aukščiau pateiktos lentelės įrašai rodomi naudojant šią SELECT užklausą:
SELECT * FROM Bike_Details;
Dviračio_pavadinimas | Dviračio_modelis | Dviračio_spalva | Bike_Cost |
---|---|---|---|
KTM DUKE | 2019 m | Juoda | 185 000 |
Karališkasis Enfieldas | 2020 m | Juoda | 165 000 |
Paspauskite | 2018 m | Raudona | 90 000 |
Apache | 2020 m | Baltas | 85 000 |
Tiesiogiai | 2018 m | Juoda | 80 000 |
KTM RC | 2020 m | Raudona | 195 000 |
Lentelė: Bike_Details
Toliau pateikiama SQL užklausa dėl skirtingų stulpelio Spalva reikšmių iš aukščiau pateiktų Bike_Details lentelė:
SELECT DISTINCT Bike_Color FROM Bikes ;
Išvestis:
Kaip matome, juoda, raudona ir balta yra trys skirtingos reikšmės stulpelyje „Bike_Color“.
Skaičiavimo funkcija su DISTINCT raktiniu žodžiu
DISTINCT raktinis žodis su funkcija COUNT užklausoje SELECT rodo unikalių lauko duomenų skaičių iš lentelės.
Skaičiavimo funkcijos su DISTINCT sintaksė pateikta žemiau:
SELECT COUNT(DISTINCT (Column_Name) FROM table_name WHERE [condition];
Skaičiavimo funkcijos su DISTINCT raktiniu žodžiu pavyzdžiai
Šie du SQL pavyzdžiai paaiškins, kaip atlikti skaičiavimo funkciją naudojant atskirą raktinį žodį:
1 pavyzdys:
Ši užklausa sukuria lentelę College_Students su keturiais laukais:
CREATE TABLE College_Students ( Student_Id INT NOT NULL, Student_Name Varchar (40), Student_Age INT, Student_Marks INT );
Ši INSERT užklausa įterpia studentų įrašą į lentelę 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);
Šioje užklausoje rodoma išsami lentelės College_Students informacija:
SELECT * FROM College_Students;
Studento pažymėjimas | Studento vardas | Studentų_amžius | Studentas_Žymės |
---|---|---|---|
101 | Akhilas | 28 | 95 |
102 | Abhay | 27 | 86 |
103 | Sorya | 26 | 79 |
104 | Abhišekas | 27 | 66 |
105 | Hrithik | 26 | 79 |
106 | Yash | 29 | 88 |
Lentelė: Kolegija_Studentai
Kaip pašalinti pirmąjį simbolį „Excel“.
Šis SQL sakinys skaičiuoja unikalias stulpelio Student_Age reikšmes iš lentelės College_Students:
SELECT COUNT (DISTINCT (Student_Age) AS Unique_Age FROM College_Students ;
Ši užklausa išvestyje pateiks žemiau esančią lentelę:
Išvestyje rodomos keturios reikšmės, nes stulpelyje Teacher_age yra 4 unikalios reikšmės.
2 pavyzdys:
Ši užklausa sukuria lentelę IT_Employee su keturiais laukais:
CREATE TABLE IT_Employee ( Employee_Id INT NOT NULL, Employee_Name Varchar (40), Emp_Age INT, Employee_Salary INT );
Ši INSERT užklausa įterpia IT darbuotojų įrašą į lentelę 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);
Šioje užklausoje rodoma išsami lentelės IT_Employee informacija:
SELECT * FROM IT_Employee;
Darbuotojo ID | Darbuotojo vardas | Darbuotojo_amžius | Darbuotojo_Atlyginimas |
---|---|---|---|
101 | Akhilas | 28 | 25 000 |
102 | Abhay | 27 | 26 000 |
103 | Sorya | 26 | 29 000 |
104 | Abhišekas | 27 | 26 000 |
105 | Hrithik | 26 | 29 000 |
106 | Yash | 29 | 25 000 |
Lentelė: IT_Darbuotojas
Šis SQL sakinys skaičiuoja tik unikalias stulpelio Emp_Age reikšmes iš aukščiau pateiktos IT_Employee lentelės:
SELECT COUNT (DISTINCT (Employee_Age)) AS Unique_Age FROM IT_Employee ;
Ši užklausa duos žemiau pateiktą išvestį: