MySQL Count correspondant aux enregistrements avec le décompte

MySQL Count correspondant aux enregistrements avec le décompte

La redondance des données se produit pour de nombreuses raisons. Plusieurs des tâches compliquées auxquelles vous devez faire face tout en travaillant avec les systèmes de base de données essaient de découvrir des valeurs en double. À cette fin, nous utiliserons la méthode d'agrégat Count (). La méthode count () renvoie la somme des lignes résidant dans un tableau spécifique. La fonction Count () vous permet de résumer toutes les lignes ou uniquement des lignes correspondant à la condition définie. Dans ce guide, vous saurez comment identifier les valeurs en double pour une ou peut-être plus de colonnes MySQL à l'aide de count (). La méthode Count () a les trois types suivants:

  • COMPTER(*)
  • Count (Expression)
  • Count (expression distincte)

Rendez-vous définitif pour que MySQL soit installé sur votre système. Ouvrez le shell client de la ligne de commande MySQL et entrez votre mot de passe pour continuer. Nous allons étudier quelques exemples pour compter les valeurs correspondantes en utilisant la méthode Count ().

Nous avons un tableau «social» dans nos schéma «données». Vérifions son enregistrement via la requête suivante.

>> Sélectionner * à partir des données.social;

MySql Count (*)

La méthode du nombre (*) est utilisée pour compter le nombre de lignes résidant dans le tableau ou compter le nombre de lignes en fonction de la condition donnée. Pour vérifier le nombre total de lignes dans un tableau, «Social», essayez la requête ci-dessous. Nous avons un total de 15 lignes dans le tableau selon le résultat.

>> Sélectionnez Count (*) dans les données.social;

Donnez un aperçu de la méthode Count (*) tout en définissant certaines conditions. Nous devons récupérer le nombre de lignes où le nom d'utilisateur est le même que «Mustafa». Vous pouvez voir que nous n'avons que 4 enregistrements pour ce nom particulier.

>> Sélectionnez Count (*) dans les données.Social Where User = 'Mustafa';

Pour récupérer la somme totale des lignes où le site Web des utilisateurs est «Instagram», essayez la requête inférieure à. Le tableau «social» n'a que 4 enregistrements pour le site Web «Instagram».

>> Sélectionnez Count (*) dans les données.Social Where Sitek = 'Instagram';

Pour récupérer le nombre total de lignes où «l'âge» est supérieur à 18, est le suivant:

>> Sélectionnez Count (*) dans les données.Social où l'âge> 18 ans;

Reprenons les données des colonnes «utilisateur» et «site Web» à partir d'une table, où le nom d'utilisateur commence par l'alphabet «M». Essayez l'instruction ci-dessous sur le shell.

>> Sélectionnez l'utilisateur, site Web à partir de données.Social où l'utilisateur comme «M%»;

MySQL Count (Expression)

Dans MySQL, la méthode Count (Expression) n'est utilisée que lorsque vous souhaitez compter les valeurs non nulles de la colonne «Expression». «L'expression» serait le nom de n'importe quelle colonne. Prenons un exemple simple. Nous n'avons compté que les valeurs non nulles d'une colonne «site Web», qui est liée à la colonne «Âge» ayant une valeur qui équivaut à «25». Voir! Nous n'avons que 4 enregistrements non nuls pour les utilisateurs ayant un âge «25», qui utilisent des sites Web.

>> Sélectionnez Count (Site Web) à partir des données.Social où l'âge = 25;

MySQL Count (Distnct Expression)

Dans MySQL, la méthode du nombre (expression distincte) est utilisée pour résumer les valeurs non nulles et les valeurs distinctes de la colonne «expression». Pour compter un nombre distinct de valeurs non nulles dans la colonne «âge», nous avons utilisé la requête ci-dessous. Vous trouverez 6 enregistrements non nuls et distincts de la colonne «âge» du tableau «social». Cela signifie que nous avons un total de 6 personnes ayant des âges différents.

>> Sélectionnez le nombre (âge distinct) à partir des données.social;

MySQL Count (if (expression))

Pour un grand accent, vous devez fusionner le nombre () avec des fonctions de contrôle de flux. Pour commencer, pour une partie de l'expression utilisée dans la méthode Count (), vous pouvez utiliser la fonction if (). Il peut être très utile de le faire pour fournir une ventilation rapide des informations dans une base de données. Nous compterons le nombre de lignes avec différentes conditions d'âge et les diviser en trois colonnes différentes, ce qui peut être dit en tant que catégories. Tout d'abord, le nombre (IF) comptera les rangées ayant moins de 20 ans et sauvera ce nombre dans une nouvelle colonne nommée «Teenage». Le deuxième compte (IF) compte les rangées ayant des âges entre 20 et 30 ans tout en le sauvant dans une colonne «jeune». Troisièmement, le dernier compte les lignes ayant des âges supérieures à 30 ans et sauvés dans une colonne «mature». Nous avons 5 adolescents, 9 jeunes et seulement 1 personne mature dans notre dossier.

>> Sélectionner le nombre (if (30,1, 1, null)) «mature» à partir des données.social;

MySql Count (*) avec groupe par clause

Le groupe par instruction est une instruction SQL en utilisant pour les lignes de groupe avec les mêmes valeurs. Il renvoie le nombre total de valeurs résidant dans chaque groupe. Par exemple, si vous souhaitez vérifier séparément le numéro de chaque utilisateur, vous devez définir la colonne «utilisateur» avec la clause Group By tout en comptant les enregistrements pour chaque utilisateur avec Count (*).

>> Sélectionnez l'utilisateur, comptez (*) à partir des données.groupe social par utilisateur;

Vous pouvez soit sélectionner plus de deux colonnes tout en effectuant le comptage des lignes avec la clause Group By, comme suit.

>> Sélectionnez l'utilisateur, l'âge, le site Web, le nombre (*) à partir des données.groupe social par site Web;

Si nous voulons compter les lignes tout en utilisant la clause WHERE ayant des conditions à côté du groupe par et compter (*), vous pouvez également le faire. La requête ci-dessous va chercher et compter les enregistrements des colonnes: «utilisateur», «site Web» et «âge» où la valeur du site Web est «Instagram» et «Snapchat» uniquement. Vous pouvez voir que nous n'avons qu'un seul enregistrement pour les deux sites Web pour différents utilisateurs.

>> Sélectionnez l'utilisateur, le site Web, l'âge, le nombre (*) à partir des données.Social Where Sitek = 'Instagram' ou site Web = 'Snapchat' Groupe par site Web, âge;

MySql Count (*) avec groupe par et ordonnance par clause

Essayons le groupe et l'ordre par les clauses conjointement avec la méthode Count (). Reprenons et comptons les rangées de la table «social» tout en organisant les données par ordre décroissant en utilisant cette requête:

>> Sélectionnez l'utilisateur, le site Web, l'âge, le nombre (*) à partir des données.Social Group par Age Order by Count (*) DESC;

La requête inférieure à l'indice comptera d'abord les lignes, puis affichera les seuls enregistrements ayant un nombre supérieur à 2 dans l'ordre croissant.

>> Sélectionnez l'utilisateur, l'âge, le nombre (*) à partir des données.Groupe social par âge ayant le nombre (*)> 2 ordonnance par comte (*) asc;

Conclusion

Nous avons parcouru toutes les méthodes possibles pour compter les enregistrements correspondants ou en double en utilisant la méthode Count () avec différentes autres clauses.