Abans d'entendre el concepte de funció de recompte amb la paraula clau DISTINCT, hem de conèixer les paraules clau Count i Distinct. Per tant, comencem amb la funció Recompte.
Què és Count en SQL?
El COUNT és una funció del llenguatge de consulta estructurat que mostra el nombre de registres de la taula al resultat. En SQL, sempre s'utilitza a la consulta SELECT.
La sintaxi de la funció Recompte es mostra a continuació:
SELECT COUNT(Name_of_Column) FROM Name_of_Table;
A l'exemple de recompte, hem de definir el nom de la columna entre parèntesis just després de la paraula clau COUNT.
Exemple de funció de recompte
En primer lloc, hem de crear una taula nova sobre la qual s'ha d'executar la funció de recompte.
La consulta següent crea el Detalls del professor taula amb Teacher_ID com a clau primària mitjançant la instrucció 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 );
Les consultes SQL següents insereixen el registre dels professors nous a la taula anterior mitjançant la instrucció 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);
Vegem el registre de la taula anterior utilitzant la següent sentència SELECT:
SELECT * FROM Teacher_Details;
Teacher_ID | Nom_professor | Titulació_professor | Professor_Edat | Teacher_Entrevista_Marques |
---|---|---|---|---|
101 | Anuj | B.tech | 20 | 88 |
102 | Raman | MCA | 24 | NUL |
104 | Shyam | BBA | 19 | 92 |
107 | Vikash | B.tech | 20 | NUL |
111 | Monu | MBA | 21 | NUL |
114 | Jones | B.tech | 18 | 93 |
121 | El cabell | BCA | 20 | 97 |
123 | Divya | B.tech | 21 | NUL |
128 | Hemant | MBA | 23 | 90 |
130 | Nidhi | BBA | 20 | 88 |
132 | Priya | MBA | 22 | NUL |
138 | Mohit | MCA | 21 | 92 |
La consulta següent compta els valors totals de la columna Teacher_Age de la taula Teacher_Details:
SELECT COUNT (Teacher_Age) AS Total_Teachers_Age_Column FROM Teacher_Details;
Sortida:
El procés d'Android acore continua aturant-se
La sortida de la consulta SELECT anterior és dotze perquè Professor_Edat El camp no conté cap valor NULL.
La consulta següent compta els valors totals de Teacher_Interview_Column de la taula anterior:
SELECT COUNT (Teacher_Interview_Marks) AS Total_Teachers_Interview_Marks FROM Teacher_Details;
Aquesta consulta mostrarà la següent sortida a la pantalla:
La sortida de la consulta SELECT anterior és 7 perquè dues cinc cel·les de la columna Teacher_Interview_Marks contenen NULL. I aquests cinc valors NULL estan exclosos. És per això que la consulta SELECT mostra 7 en lloc de 12 al resultat.
Què és la funció Recompte (*)?
Això també és similar a la funció Recompte, però l'única diferència és que també mostra el nombre de valors NULL de la taula.
La sintaxi de la funció Compte (*) es dóna aquí:
SELECT COUNT(*) FROM Name_of_Table;
Exemple:
Prenem els detalls del professor anterior:
Teacher_ID | Nom_professor | Titulació_professor | Professor_Edat | Teacher_Entrevista_Marques |
---|---|---|---|---|
101 | Anuj | B.tech | 20 | 88 |
102 | Raman | MCA | 24 | NUL |
104 | Shyam | BBA | 19 | 92 |
107 | Vikash | B.tech | 20 | NUL |
111 | Monu | MBA | 21 | NUL |
114 | Jones | B.tech | 18 | 93 |
121 | El cabell | BCA | 20 | 97 |
123 | Divya | B.tech | 21 | NUL |
128 | Hemant | MBA | 23 | 90 |
130 | Nidhi | BBA | 20 | 88 |
132 | Priya | MBA | 22 | NUL |
138 | Mohit | MCA | 21 | 92 |
La consulta següent compta els valors totals de la Total_punts_de_entrevista columna de la taula anterior:
algorisme de programació round robin
SELECT COUNT (*) FROM Teacher_Details;
La consulta anterior SELECT with COUNT(*) donarà el resultat següent a la pantalla:
Què és DISTINCT en SQL?
La paraula clau DISTINCT mostra les files úniques de la columna de la taula al resultat.
La sintaxi de la paraula clau DISTINCT es dóna aquí:
SELECT DISTINCT Name_of_Column FROM Table_Name WHERE [condition];
A la consulta DISTINCT, també podem definir la condició a la clàusula WHERE per recuperar els valors específics.
Exemple de DISTINCT
Primer, creeu una taula nova on s'ha d'executar la paraula clau Distinct.
linux mint canyella vs mate
La consulta següent crea el Bike_Details taula utilitzant la instrucció CREATE TABLE:
CREATE TABLE Bike_Details ( Bike_Name varchar(100), Bike_Model INT, Bike_Color varchar(50), Bike_Cost INT );
Les consultes SQL següents insereixen el registre de bicicletes noves a la taula mitjançant la instrucció 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);
Els registres de la taula anterior es mostren mitjançant la següent consulta SELECT:
SELECT * FROM Bike_Details;
Bike_Name | Bike_Model | Bike_Color | Bike_Cost |
---|---|---|---|
KTM DUKE | 2019 | Negre | 185000 |
Royal Enfield | 2020 | Negre | 165.000 |
Cliqueu | 2018 | Vermell | 90000 |
Apache | 2020 | Blanc | 85,000 |
Viu | 2018 | Negre | 80,000 |
KTM RC | 2020 | Vermell | 195,000 |
Taula: Bike_Details
El següent SQL consulta els diferents valors de la columna Color de l'anterior Bike_Details taula:
SELECT DISTINCT Bike_Color FROM Bikes ;
Sortida:
Com podem veure, Black, Red i White són tres valors diferents a la columna Bike_Color.
comparació de cadena c#
Funció de recompte amb paraula clau DISTINCT
La paraula clau DISTINCT amb la funció COUNT a la consulta SELECT mostra el nombre de dades úniques del camp de la taula.
La sintaxi de la funció de recompte amb la paraula clau DISTINCT es mostra a continuació:
SELECT COUNT(DISTINCT (Column_Name) FROM table_name WHERE [condition];
Exemples de funció de recompte amb paraula clau DISTINCT
Els dos exemples SQL següents explicaran l'execució de la funció Count amb la paraula clau Distinct:
Exemple 1:
La consulta següent crea la taula College_Students amb quatre camps:
CREATE TABLE College_Students ( Student_Id INT NOT NULL, Student_Name Varchar (40), Student_Age INT, Student_Marks INT );
La següent consulta INSERT insereix el registre dels estudiants a la taula 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);
La consulta següent mostra els detalls de la taula College_Students:
SELECT * FROM College_Students;
ID_estudiant | Nom de l'estudiant | Edat_estudiant | Marques_estudiant |
---|---|---|---|
101 | Akhil | 28 | 95 |
102 | Abhay | 27 | 86 |
103 | Sorya | 26 | 79 |
104 | Abhishek | 27 | 66 |
105 | Hrithik | 26 | 79 |
106 | Yash | 29 | 88 |
Taula: Universitat_Estudiants
La següent instrucció SQL compta els valors únics de la columna Student_Age de la taula College_Students:
SELECT COUNT (DISTINCT (Student_Age) AS Unique_Age FROM College_Students ;
Aquesta consulta donarà la taula següent a la sortida:
La sortida mostra els quatre valors perquè la columna Teacher_age conté 4 valors únics.
suite d'eines de primavera
Exemple 2:
La consulta següent crea la taula IT_Employee amb quatre camps:
CREATE TABLE IT_Employee ( Employee_Id INT NOT NULL, Employee_Name Varchar (40), Emp_Age INT, Employee_Salary INT );
La consulta INSERT següent insereix el registre dels empleats de TI a la taula 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);
La consulta següent mostra els detalls de la taula IT_Employee:
SELECT * FROM IT_Employee;
Id._empleat | Nom d'empleat | Edat_empleat | Salari_empleat |
---|---|---|---|
101 | Akhil | 28 | 25000 |
102 | Abhay | 27 | 26000 |
103 | Sorya | 26 | 29000 |
104 | Abhishek | 27 | 26000 |
105 | Hrithik | 26 | 29000 |
106 | Yash | 29 | 25000 |
Taula: IT_Empleat
La següent instrucció SQL compta només els valors únics de la columna Emp_Age de la taula IT_Employee anterior:
SELECT COUNT (DISTINCT (Employee_Age)) AS Unique_Age FROM IT_Employee ;
Aquesta consulta donarà la següent sortida: