Il est utile d'obtenir des enregistrements du mois en cours dans MySQL pour les rapports et l'analyse des données. Vous pouvez l'utiliser pour obtenir des données sur les ventes du mois en cours, le nombre d'inscriptions au cours du mois en cours et d'autres informations utiles. Voici comment obtenir les lignes du mois en cours dans MySQL.
Comment obtenir les enregistrements du mois en cours dans MySQL
Voici les étapes pour obtenir les enregistrements du mois en cours dans MySQL. Nous l'utiliserons également pour attirer de nouveaux clients au cours du mois.
Disons que vous avez le tableau suivant ventes(date_commande, vente, commandes) qui contient le nombre quotidien de commandes et le montant de la vente.
mysql> select * from sales; +------------+------+--------+ | order_date | sale | orders | +------------+------+--------+ | 2020-04-28 | 300 | 10 | | 2020-04-29 | 250 | 15 | | 2020-04-30 | 250 | 12 | | 2020-05-01 | 250 | 14 | | 2020-05-02 | 150 | 20 | | 2020-05-03 | 300 | 21 | | 2020-05-04 | 200 | 15 | | 2020-05-05 | 200 | 17 | | 2020-05-06 | 250 | 12 | | 2020-05-07 | 150 | 15 | | 2020-05-08 | 300 | 12 | | 2020-05-09 | 200 | 18 | +------------+------+--------+
Lecture bonus :Comment importer CSV dans MySQL Workbench
Comment obtenir les données de ventes du mois en cours dans MySQL
Voici la requête SQL pour obtenir les enregistrements du mois en cours dans MySQL
mysql> select * from sales where MONTH(order_date)=MONTH(now()) and YEAR(order_date)=YEAR(now()); +------------+------+--------+ | order_date | sale | orders | +------------+------+--------+ | 2020-05-01 | 250 | 14 | | 2020-05-02 | 150 | 20 | | 2020-05-03 | 300 | 21 | | 2020-05-04 | 200 | 15 | | 2020-05-05 | 200 | 17 | | 2020-05-06 | 250 | 12 | | 2020-05-07 | 150 | 15 | | 2020-05-08 | 300 | 12 | | 2020-05-09 | 200 | 18 | +------------+------+--------+
Dans la requête ci-dessus, nous utilisons la fonction système now() pour obtenir la date et l'heure actuelles. Ensuite, nous obtenons les lignes du mois actuel dans MySQL en filtrant les lignes qui ont le même mois et la même année que la date et l'heure actuelles. MONTH() et YEAR() sont des fonctions MySQL intégrées pour obtenir le numéro de mois et le numéro d'année à partir d'une date donnée.
Lecture bonus :comment créer un histogramme dans MySQL
Si votre colonne de date, c'est-à-dire order_date est indexé, il est conseillé de ne pas utiliser de fonction dessus. Sinon, il faudra beaucoup de temps pour s'exécuter. Au lieu de cela, vous pouvez utiliser la requête SQL suivante pour obtenir les enregistrements du mois en cours dans MySQL.
mysql> SELECT * FROM sales WHERE order_date >= (LAST_DAY(NOW()) + INTERVAL 1 DAY - INTERVAL 1 MONTH) AND order_date < (LAST_DAY(NOW()) + INTERVAL 1 DAY); +------------+------+--------+ | order_date | sale | orders | +------------+------+--------+ | 2020-05-01 | 250 | 14 | | 2020-05-02 | 150 | 20 | | 2020-05-03 | 300 | 21 | | 2020-05-04 | 200 | 15 | | 2020-05-05 | 200 | 17 | | 2020-05-06 | 250 | 12 | | 2020-05-07 | 150 | 15 | | 2020-05-08 | 300 | 12 | | 2020-05-09 | 200 | 18 | +------------+------+--------+
Après avoir obtenu les enregistrements du mois en cours dans MySQL, vous pouvez utiliser un outil de création de graphiques pour le tracer dans un beau graphique, comme indiqué ci-dessous, et le partager avec votre équipe. Voici un graphique linéaire créé à l'aide du logiciel de tableau de bord Ubiq
Lecture bonus :Comment calculer le taux de conversion dans MySQL
Comment obtenir des inscriptions et de nouveaux utilisateurs au cours du mois en cours dans MySQL
De même, vous pouvez également obtenir de nouvelles inscriptions et utilisateurs au cours du mois en cours dans MySQL. Supposons que vous ayez la table suivante Users(user_id, date_joined) qui contient des données d'inscription.
mysql> select * from users; +-------------+---------+ | date_joined | user_id | +-------------+---------+ | 2020-04-28 | 213 | | 2020-04-28 | 214 | | 2020-04-30 | 215 | | 2020-04-28 | 216 | | 2020-04-28 | 217 | | 2020-04-30 | 218 | | 2020-04-28 | 219 | | 2020-04-28 | 220 | | 2020-04-30 | 221 | | 2020-05-01 | 222 | | 2020-05-01 | 222 | | 2020-05-01 | 223 | | 2020-05-04 | 224 | | 2020-05-04 | 225 | | 2020-05-04 | 226 | | 2020-05-04 | 226 | | 2020-05-04 | 227 | | 2020-05-04 | 228 | | 2020-05-05 | 229 | | 2020-05-05 | 230 | | 2020-05-05 | 231 | | 2020-05-05 | 232 | | 2020-05-06 | 233 | | 2020-05-06 | 234 | +-------------+---------+
Voici la requête SQL pour obtenir quotidiennement de nouvelles inscriptions et de nouveaux utilisateurs au cours du mois en cours dans MySQL.
mysql> select date(date_joined),count(*) from users where MONTH(date_joined)=MONTH(now()) and YEAR(date_joined)=YEAR(now()) group by date(date_joined); +-------------------+----------+ | date(date_joined) | count(*) | +-------------------+----------+ | 2020-05-01 | 3 | | 2020-05-04 | 6 | | 2020-05-05 | 4 | | 2020-05-06 | 2 | +-------------------+----------+
Vous pouvez également utiliser cette requête SQL pour obtenir le nombre d'utilisateurs au cours d'un mois ou compter les nouveaux utilisateurs au cours du mois dernier. Supprimez simplement date(date_joined) de la clause select et supprimez la clause group by pour obtenir le nombre total.
mysql> select count(*) from users where MONTH(date_joined)=MONTH(now()) and YEAR(date_joined)=YEAR(now());
Lecture bonus :Comment remplir les dates manquantes dans MySQL
Après avoir obtenu les enregistrements du mois en cours dans MySQL, vous pouvez utiliser un outil de création de rapports pour tracer ces données sur un graphique à barres ou un tableau de bord et les partager avec votre équipe. Voici un exemple de graphique à barres qui affiche les inscriptions quotidiennes du mois en cours, créé à l'aide d'Ubiq.
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.