Les ventes mensuelles sont un indicateur de performance clé commercial très utile à suivre, pour chaque entreprise. Il vous aide à comprendre l'impact de vos campagnes et initiatives marketing sur vos ventes, à identifier la périodicité des ventes et à repérer les fluctuations. Si vos données sont stockées dans une base de données, vous pouvez facilement calculer un rapport de ventes mensuel en SQL. Voici comment calculer le total des ventes par mois dans MySQL. Vous pouvez également l'utiliser pour obtenir des données mensuelles dans MySQL.
Comment calculer le total des ventes par mois dans MySQL ?
Voici les étapes pour calculer les ventes totales par mois dans MySQL. Disons que vous avez le tableau suivant sales(order_date, sale) qui stocke les données de vente.
mysql>créer une table sales(order_date date,sale int);mysql>insérer dans sales(order_date,sale) values('2020-01-01',10),('2020-01-02',12) ,('2020-01-03',15), ('2020-01-04',11),('2020-01-05',13),('2020-01-06',9), ( '2020-01-07',21),('2020-01-08',10),('2020-01-09',10), ('2020-01-10',2),('2020 -01-11',16),('2020-01-12',12), ('2020-01-13',10),('2020-01-14',18),('2020-01 -15',15), ('2020-01-16',12),('2020-01-17',10),('2020-01-18',18), ('2020-01-19 ',14),('2020-01-20',16),('2020-01-21',12), ('2020-01-22',21),('2020-01-23', 13),('2020-01-24',15), ('2020-01-25',20),('2020-01-26',14),('2020-01-27',16) , ('2020-01-28',15),('2020-01-29',10),('2020-01-30',18);mysql>select * from sales;+----- -------+------+| date_commande | vente |+-----------+------+| 2020-01-01 | 10 || 2020-01-02 | 12 || 2020-01-03 | 15 || 2020-01-04 | 11 || 2020-01-05 | 13 || 2020-01-06 | 9 || 2020-01-07 | 21 || 2020-01-08 | 10 || 2020-01-09 | 10 || ... | ...|+------------+------+
Calculer un rapport de ventes mensuel dans MySQL
MySQL fournit les fonctions MONTH et YEAR qui vous permettent de calculer respectivement le mois et l'année, à partir d'une date. Nous utiliserons ces 2 fonctions pour calculer le total des ventes par mois dans MySQL.
mysql> select year(order_date), month(order_date),sum(sale) du groupe de vente par année(date_commande),mois(date_commande) commande par année(date_commande),mois(date_commande);+------------------+----- --------------+-----------+| année(date_commande) | mois(date_commande) | somme(vente) |+------------------+-------------------+----- ------+| 2020 | 1 | 408 || 2020 | 2 | 320 || 2020 | 3 | 540 || ... | ... | ... |+------------------+-------------------+------ -----+
La requête ci-dessus utilise la fonction SOMME qui vous aidera à additionner le total des ventes chaque mois. Si vous souhaitez uniquement un nombre total de ventes chaque mois, vous pouvez utiliser la fonction COUNT à la place.
mysql> select year(order_date), month(order_date),count(sale) du groupe de vente par année(date_commande),mois(date_commande) commande par année(date_commande),mois(date_commande);+------------------+----- --------------+-----------+| année(date_commande) | mois(date_commande) | somme(vente) |+------------------+-------------------+----- ------+| 2020 | 1 | 18 || 2020 | 2 | 10 || 2020 | 3 | 21 || ... | ... | ... |+------------------+-------------------+------ -----+
Si vous souhaitez filtrer les données utilisées pour calculer les ventes totales par mois dans MySQL, vous pouvez le faire à l'aide de la clause WHERE, comme indiqué ci-dessous en gras
mysql> select year(order_date), month(order_date), sum(sale) from sales WHERE condition grouper par année(order_date),mois(order_date) commander par année(order_date),mois(order_date);
De même, vous pouvez également calculer les ventes moyennes par semaine et les ventes moyennes par jour dans MySQL.
Si vous avez des données de vente pour plusieurs produits dans votre table sales(product, order_date, sale), vous pouvez calculer les ventes mensuelles pour chaque produit en mettant à jour les clauses GROUP BY et ORDER BY
mysql> crée une table sales(product varchar(255),order_date date,sale int);mysql> insère dans sales values('A','2020-01-01',20),('B',' 2020-01-02',25),('B','2020-01-03',15),('A','2020-01-04',30),('A','2020- 01-05',20);mysql> select * from sales;+---------+------------+------+| produit | date_commande | vente |+---------+-----------+------+| Un | 2020-01-01 | 20 || B | 2020-01-02 | 25 || B | 2020-01-03 | 15 || Un | 2020-01-04 | 30 || Un | 2020-01-05 | 20 |+---------+------------+------+mysql> sélectionner produit, année(order_date),mois(order_date),somme(vente) du groupe de ventes par produit, année(order_date),mois(order_date) commande par produit, année(date_commande),mois(date_commande);+---------+------------------+---------- ---------+-----------+| produit | année(date_commande) | mois(date_commande) | somme(vente) |+---------+------------------------------+--------------- ----+-----------+| Un | 2020 | 1 | 70 || B | 2020 | 1 | 40 || ... | ... | ... | ... |+---------+------------------+---------------- ---+-----------+
Maintenant que vous savez comment calculer le total des ventes par mois dans MySQL, vous pouvez le personnaliser selon vos besoins.
Lecture bonus : Comment calculer le pourcentage de croissance mois par mois dans MySQL
Pour tracer les données de ventes mensuelles, nous allons légèrement modifier notre requête SQL précédente pour obtenir les noms de mois à l'aide de la fonction DATE_FORMAT, au lieu d'utiliser les numéros d'année et de mois
mysql> sélectionnez date_format(order_date,'%M') ,sum(sale) from sales group by year(order_date),month(order_date) order by year(order_date),month(order_date);+------------------- -----------+-----------+| format_date(date_commande,'%M') | somme(vente) |+------------------------------+-----------+| janvier | 408 || février | 320 || mars | 540 || ... | ... |+------------------------------+-----------+
Après avoir calculé les ventes totales par mois dans MySQL, vous pouvez tracer les ventes mensuelles sur un graphique à barres à l'aide d'un outil graphique. Voici un exemple de graphique des ventes mensuelles créé avec Ubiq
Au fait, si vous souhaitez créer des graphiques et des tableaux de bord des ventes à partir de la base de données MySQL, vous pouvez essayer Ubiq. Nous offrons un essai gratuit de 14 jours.