Il est utile d'obtenir les données de ventes des 3 mois précédents pour comprendre les tendances des ventes, faire des rapports et des analyses de données. Voici comment obtenir les données de ventes des 3 derniers mois dans MySQL pour votre entreprise/site Web. Nous verrons comment sélectionner les enregistrements des 3 derniers mois à l'aide de la fonction INTERVAL de MySQL.
Comment obtenir les données de ventes des 3 derniers mois dans MySQL
Voici les étapes pour obtenir les données de ventes des 3 derniers mois dans MySQL. Supposons que vous ayez le tableau suivant ventes(date_commande, montant) qui contient des informations sur les ventes quotidiennes.
mysql> select order_date,sale from sales; (showing only last few records) +------------+------+ | order_date | sale | +------------+------+ | 2020-01-28 | 230 | | ... | ... | | 2020-05-29 | 300 | | 2020-05-30 | 250 | | 2020-05-31 | 250 | | 2020-06-01 | 250 | | 2020-06-02 | 150 | | 2020-06-03 | 300 | | 2020-06-04 | 200 | | 2020-06-05 | 200 | | 2020-06-06 | 250 | | 2020-06-07 | 150 | | 2020-06-08 | 300 | | 2020-06-09 | 200 | +------------+------+
Lecture bonus :comment obtenir les enregistrements du mois en cours
Voici la requête SQL pour obtenir les données de ventes des 3 derniers mois dans MySQL, également appelées ventes glissantes sur 3 mois. Nous utilisons la fonction INTERVAL() pour obtenir les données de ventes des 3 derniers mois.
mysql>select order_date,sale from sales where order_date > now() - INTERVAL 3 MONTH; (showing only last few records) +------------+------+ | order_date | sale | +------------+------+ | 2020-02-09 | 230 | | ... | ... | | 2020-05-29 | 300 | | 2020-05-30 | 250 | | 2020-05-31 | 250 | | 2020-06-01 | 250 | | 2020-06-02 | 150 | | 2020-06-03 | 300 | | 2020-06-04 | 200 | | 2020-06-05 | 200 | | 2020-06-06 | 250 | | 2020-06-07 | 150 | | 2020-06-08 | 300 | | 2020-06-09 | 200 | +------------+------+
Dans la requête SQL ci-dessus, nous disons à MySQL d'obtenir les données de ventes pour toutes les dates où order_date se situe dans notre INTERVALLE spécifié, c'est-à-dire au cours des 3 derniers mois à partir de MAINTENANT.
Lecture bonus :comment créer un histogramme dans MySQL
Étant donné que différents mois ont un nombre de jours différent, lorsque vous mentionnez INTERVAL 3 mois , MySQL obtiendra des données exactement le même jour du mois, avant 3 mois. Autrement dit, si aujourd'hui est le 9 juin, il obtiendra les données de vente du 9 mars.
Si vous souhaitez obtenir les données de vente des 90 derniers jours, voici la requête SQL pour obtenir les données de vente des 90 derniers jours.
mysql>select order_date,sale from sales where order_date > now() - INTERVAL 90 DAY; (showing only last few records) +------------+------+ | order_date | sale | +------------+------+ | 2020-03-11 | 230 | | ... | ... | | 2020-05-29 | 300 | | 2020-05-30 | 250 | | 2020-05-31 | 250 | | 2020-06-01 | 250 | | 2020-06-02 | 150 | | 2020-06-03 | 300 | | 2020-06-04 | 200 | | 2020-06-05 | 200 | | 2020-06-06 | 250 | | 2020-06-07 | 150 | | 2020-06-08 | 300 | | 2020-06-09 | 200 | +------------+------+
Lecture bonus :Comment calculer le taux de conversion dans MySQL
Si vous avez plusieurs lignes pour chaque order_date, vous devrez agréger les ventes quotidiennes lorsque vous obtenez les données de ventes des 3 derniers mois. Par exemple, si vous avez un tableau des ventes, comme indiqué ci-dessous
mysql> select order_date,sale from sales; (showing only last few records) +---------------------+------+ | order_date | sale | +---------------------+------+ | 2020-01-28 09:30:35 | 23 | | 2020-01-28 10:10:00 | 30 | | 2020-01-28 11:00:15 | 20 | | 2020-01-28 14:50:35 | 15 | | 2020-01-28 15:30:36 | 25 | | 2020-01-28 17:10:55 | 15 | | ... | ... | +---------------------+------+
Ensuite, voici la requête pour obtenir les données de ventes des 3 derniers mois, après avoir agrégé les ventes quotidiennes
mysql>select date(order_date),sale from sales where order_date > now() - INTERVAL 3 MONTH group by date(order_date); (showing only last few records) +------------+------+ | order_date | sale | +------------+------+ | 2020-03-09 | 230 | | ... | ... | | 2020-05-29 | 300 | | 2020-05-30 | 250 | | 2020-05-31 | 250 | | 2020-06-01 | 250 | | 2020-06-02 | 150 | | 2020-06-03 | 300 | | 2020-06-04 | 200 | | 2020-06-05 | 200 | | 2020-06-06 | 250 | | 2020-06-07 | 150 | | 2020-06-08 | 300 | | 2020-06-09 | 200 | +------------+------+
Vous pouvez tracer ces données de vente sur un graphique linéaire à l'aide d'un outil graphique tel qu'Ubiq.
Vous pouvez également agréger ces données de ventes pour chaque mois à l'aide de la requête suivante. Nous utilisons DATE_FORMAT pour obtenir les noms de mois à partir des valeurs de date.
mysql>select date_format(order_date,'%b'),sale from sales where order_date > now() - INTERVAL 3 MONTH group by date_format(order_date,'%b'); +------------+-------+ | order_date | sale | +------------+-------+ | Mar | 830 | | Apr | 10300 | | May | 12250 | | Jun | 1250 | +------------+-------+
et tracez-le sur un graphique à barres comme indiqué ci-dessous, créé à l'aide d'Ubiq.
C'est ça! J'espère que vous pourrez vous aussi obtenir les données de ventes des 3 derniers mois dans MySQL pour votre entreprise/site Web/application et les partager avec votre équipe.
Si vous souhaitez créer des graphiques, des tableaux de bord et des rapports à partir de la base de données MySQL, vous pouvez essayer Ubiq. Nous offrons un essai gratuit de 14 jours.