Utilisation de fonctions d'agrégats MySQL avec groupe par

Utilisation de fonctions d'agrégats MySQL avec groupe par
Normalement, l'instruction SELECT est utilisée pour récupérer tous les enregistrements correspondants à partir d'une ou plusieurs tables en fonction des différentes clauses utilisées dans l'instruction. Mais parfois, nous avons besoin du type de résumé des données des tableaux en fonction de n'importe quel champ et la fonction agrégée est utilisée pour effectuer ce type de tâche. Par exemple, lorsqu'une entreprise a besoin du rapport de vente mensuel, le montant des ventes devra être ajouté en fonction du montant des ventes de chaque mois pour générer le rapport. De nombreuses fonctions agrégées existent dans MySQL pour effectuer différents types de tâches sommaires. Généralement, la clause Group By est utilisée avec chaque fonction agrégée. Les fonctions de différentes fonctions d'agrégats MySQL et les utilisations de certaines fonctions d'agrégats courantes sont présentées dans cet article à l'aide de tables de base de données MySQL à deux échantillons.

Syntaxe:

SELECT Field1, Fields2,…, Fieldn, Aggregate_Function (FieldX)
De la table
Où les conditions
Groupe par Field1, Field2,… ,, Fieldn;

Ici, la valeur résumé de fieldx La colonne sera calculée sur la base des colonnes mentionnées sur le groupe par clause.

Liste des fonctions d'agrégat MySQL:

Fonction d'agrégation Description
COMPTER() Il est utilisé pour compter le nombre total de lignes renvoyées.
Count (distinct) Il est utilisé pour compter le nombre total de lignes uniques renvoyées.
SOMME() Il est utilisé pour calculer la somme de toutes les valeurs de champ numérique.
Max () Il est utilisé pour découvrir la valeur maximale d'un champ.
Min () Il est utilisé pour découvrir la valeur minimale d'un champ.
Avg () Il est utilisé pour découvrir la valeur moyenne d'un champ.
Bit_or () Il est utilisé pour retourner au bit ou à la valeur d'un champ.
Bit_and () Il est utilisé pour retourner au bit et à la valeur d'un champ.
Bit_xor () Il est utilisé pour retourner la valeur xor bit-sage d'un champ.
Group_concat () Il est utilisé pour renvoyer la valeur concaténée d'un champ.
Json_arrayagg () Il est utilisé pour renvoyer un tableau JSON d'une valeur de champ.
JSON_Objectagg () Il est utilisé pour renvoyer un objet JSON d'une valeur de champ.
Std () Il est utilisé pour retourner l'écart type de population.
Stddev () Il est utilisé pour retourner l'écart type de population.
Stddev_pop () Il est utilisé pour retourner l'écart type de population.
Stddev_samp () Il est utilisé pour retourner l'écart-type de l'échantillon.
Var_pop () Il est utilisé pour retourner la variance standard de la population.
Var_samp () Il est utilisé pour retourner la variance de l'échantillon.
VARIANCE() Il est utilisé pour retourner la variance standard de la population.

Créer deux tables connexes nommées vendeur et ventes En exécutant les instructions de création suivantes. Ces deux tables sont liées par identifiant domaine de vendeur table et SalesPerson_id domaine de ventes tableau.

Créer un vendeur de table (
id int (5) clé primaire Auto_increment,
nom varchar (50) pas null,
mobile_no varchar (50) pas null,
zone varchar (50) pas nul,
Email Varchar (50) Not Null) Engine = inNODB;
Créer des ventes de tables (
ID INT (11) Clé primaire Auto_Increment
Sales_date Date,
SalesPerson_id Int (5) pas null,
Montant Int (11),
Clé étrangère (vendeur_id) références vendeur (id)))
Moteur = inNODB;
# Insérer certains enregistrements dans les deux tables en exécutant les instructions d'insertion suivantes.
Insérer dans les valeurs du vendeur
(Null, «Jony», «0176753325», «Californie», «Jony @ gmail.com '),
(Null, «Janifer», «0178393995», «Texas», «Janifer @ gmail.com '),
(Null, «Jubair», «01846352443», «Floride», «Jubair @ gmail.com '),
(Null, «Albert», «01640000344», «Texas», «Albert @ gmail.com ');
Insérer dans les valeurs de vente
(Null, '2020-02-11', 1, 10000),
(Null, '2020-02-23', 3, 15000),
(Null, '2020-03-06', 4, 7000),
(Null, '2020-03-16', 2, 9000),
(Null, '2020-03-23', 3, 15000),
(Null, '2020-03-25', 4, 7000),
(Null, '2020-03-27', 2, 8000),
(Null, '2020-03-28', 4, 5000),
(Null, '2020-03-29', 2, 3000),
(Null, «2020-03-30», 3, 7000);

Maintenant, exécutez les instructions suivantes pour vérifier les enregistrements des deux vendeur et ventes les tables.

Sélectionner * dans le vendeur; Sélectionner * dans les ventes;

Les utilisations de certaines fonctions agrégées couramment utilisées sont présentées dans la partie suivante de cet article.

Fonction Utilisation de Count ():

La table du vendeur contient des informations sur le vendeur de la région. Si vous souhaitez connaître le nombre total du vendeur dans chaque zone, la déclaration SQL suivante peut être utilisée. Il comptera le nombre total de vendeurs de vendeur groupe de table par zone.

Sélectionnez la zone comme ville, compter (*) comme «vendeur total»
Du vendeur
Groupe par région;

La sortie suivante apparaîtra selon les données du tableau.

Utilisation de la fonction sum ():

Lorsqu'il doit connaître le montant total des ventes de chaque vendeur, le relevé SQL suivant peut être utilisé pour découvrir le montant total des ventes avec le nom de chaque vendeur de vendeur et ventes table en utilisant la fonction sum (). 'SalesPerson_id' de ventes La table est utilisée ici pour le regroupement.

Sélectionnez le vendeur.Nom, somme (montant) comme des «ventes totales»
Du vendeur, des ventes
Où le vendeur.id = ventes.SalesPerson_id
Groupe par vente.SalesPerson_id;

La sortie suivante apparaîtra après avoir exécuté l'instruction ci-dessus. Il y a quatre vendeurs dans vendeur la table et la production montre le total des ventes montant pour chaque vendeur.

Utilisation de la fonction max ():

Lorsqu'il est nécessaire de découvrir les ventes maximales mensuelles en fonction de chaque vendeur, l'instruction SQL suivante peut être utilisée pour obtenir la production. Ici, la fonction Mois () est utilisée pour identifier chaque mois et la fonction max () est utilisée pour trouver la valeur de montant maximale de chaque mois à partir de ventes tableau.

Sélectionner le mois (ventes.Sales_Date) comme mois, max (montant) comme «ventes maximales»,
vendeur.Nom comme «vendeur»
Du vendeur, des ventes
Où le vendeur.id = ventes.SalesPerson_id
Groupe par mois (ventes.Sales_Date), vendeur.nom ;

La sortie suivante apparaîtra après avoir exécuté l'instruction.

Utilisation de la fonction Group_Concat ():

Quand il devra découvrir le montant total des ventes en fonction de chaque mois en mentionnant chaque montant de vente unique de chaque mois, le relevé SQL suivant peut être utilisé. Ici, la fonction Mois () est utilisée pour lire les valeurs de montant de vente mensuelles en fonction de la Sales_date et la fonction group_concat () est utilisée pour compter le montant mensuel des ventes.

Sélectionner le mois (ventes.Sales_Date) comme mois, group_concat (montant) en tant que ventes,
Résume (montant) comme des «ventes totales»
Du groupe de vente par mois (ventes.Sales_Date);

La sortie suivante apparaîtra après avoir exécuté l'instruction.

Conclusion:

Les fonctions agrégées aident les utilisateurs de MySQL à découvrir facilement les différents types de données sommaires en écrivant une question simple. Les utilisations de quatre fonctions agrégées utiles sont expliquées dans cet article pour aider les lecteurs à savoir comment les fonctions agrégées utilisées dans MySQL.