La méthode COUNT IF dans MySQL
Dans ce tutoriel, nous visons à explorer comment utiliser la méthode COUNT IF
dans MySQL.
La méthode COUNT()
dans MySQL donne le nombre total de lignes dans la table en sortie. Mais dans cet article, nous souhaitons comprendre comment nous pouvons compter les informations basées sur une condition IF
particulière à partir de nos données.
La commande IF
nous donne le nombre total de valeurs non nulles distinctes uniquement si les valeurs satisfont l’expression ou la condition mentionnée dans le fragment de requête IF
.
Comprenons comment cette méthode fonctionne.
Avant de commencer, nous créons un jeu de données factice sur lequel travailler.
-- create the table student_details
CREATE TABLE student_details(
stu_id int,
stu_firstName varchar(255) DEFAULT NULL,
stu_lastName varchar(255) DEFAULT NULL,
primary key(stu_id)
);
-- insert rows to the table student_details
INSERT INTO student_details(stu_id,stu_firstName,stu_lastName)
VALUES(1,"Preet","Sanghavi"),
(2,"Rich","John"),
(3,"Veron","Brow"),
(4,"Geo","Jos"),
(5,"Hash","Shah"),
(6,"Sachin","Parker"),
(7,"David","Miller");
Utilisation de la méthode Count IF
dans MySQL
La syntaxe de base de la technique COUNT IF
peut être illustrée comme suit.
SELECT COUNT(IF(<condition>, <expr>, NULL)) AS alias FROM name_of_the_table;
Comme on le voit dans la requête ci-dessus, nous visons à compter les valeurs distinctes ou non distinctes indiquées comme expr
ici à partir d’une table particulière basée sur une condition définie dans la clause IF
comme condition
.
Dans notre tableau des détails des étudiants, comptons le nombre total de stu_id
distincts avec leur stu_firstName
se terminant par reet
. Cette tâche peut être réalisée à l’aide de la requête suivante.
SELECT DISTINCT
COUNT(DISTINCT IF(stu_firstName like '%reet',
stu_id,
NULL)) AS count_student_ids
FROM student_details;
Ce code compte des nombres distincts de stu_id
de la table student_details
étant donné que le stu_firstName
doit se terminer par reet
dans la clause IF
.
Production :
count_student_ids
1
Remarque : Dans l’extrait de code ci-dessus, nous utilisons l’alias count_student_ids
avec le mot clé AS
dans MySQL.
Une alternative à la technique COUNT IF
est la technique SUM CASE
qui peut nous aider à obtenir des résultats similaires.
Par conséquent, à l’aide de la technique COUNT IF
, nous pouvons compter efficacement le nombre total d’occurrences d’une entité en fonction d’une condition particulière à partir d’une table dans MySQL.