Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment obtenir de nouveaux utilisateurs par jour dans MySQL

Il est très important de compter les nouveaux utilisateurs par jour pour chaque entreprise. Vous pouvez l'utiliser pour compter les nouveaux utilisateurs quotidiens, analyser le nombre total d'utilisateurs enregistrés par date et même créer un rapport quotidien. Voici comment obtenir de nouveaux utilisateurs par jour dans MySQL.

Comment obtenir de nouveaux utilisateurs par jour dans MySQL

Voici les étapes pour obtenir de nouveaux utilisateurs par jour dans MySQL. Vous pouvez l'utiliser pour compter les utilisateurs enregistrés par jour.

Disons que vous avez une table users(user_id, date_joined) qui stocke tous les identifiants d'utilisateur ainsi que leur date d'adhésion/d'inscription/d'inscription.

mysql> create table users(date_joined date,user_id int);

mysql> insert into users(date_joined,user_id)
       values('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);

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 |
+-------------+---------+

Lecture bonus :Comment obtenir les données de vente des 3 derniers mois dans MySQL

Dans ce cas, vous n'avez qu'un seul enregistrement par utilisateur, vous pouvez donc facilement obtenir de nouveaux utilisateurs dans MySQL en effectuant un décompte par date dans SQL. Voici la requête SQL pour compter les enregistrements par jour dans MySQL.

mysql> select date(date_joined),count(user_id) 
       from users 
       group by date(date_joined);
+-------------------+----------------+
| date(date_joined) | count(user_id) |
+-------------------+----------------+
| 2020-04-28        |        6       |
| 2020-04-30        |        3       |
| 2020-05-01        |        3       |
| 2020-05-04        |        6       |
| 2020-05-05        |        4       |
| 2020-05-06        |        2       |
+-------------------+----------------+

Dans la requête ci-dessus, nous utilisons simplement une fonction d'agrégation DATE pour compter le nombre quotidien d'utilisateurs enregistrés.

Lecture bonus :Comment obtenir les enregistrements du mois en cours dans MySQL

Si vous souhaitez filtrer les données en fonction de conditions spécifiques, vous pouvez ajouter une clause WHERE comme indiqué ci-dessous.

mysql> select date(date_joined),count(*) 
       from users 
       WHERE <condition>
       group by date(date_joined);

Lecture bonus :Comment importer un fichier CSV dans MySQL Workbench

Si vous souhaitez également calculer le nombre total d'utilisateurs cumulés par jour, voici la requête SQL pour obtenir de nouveaux utilisateurs par jour dans MySQL. Nous utiliserons le résultat de la requête ci-dessus comme entrée pour calculer le nombre total de nouveaux utilisateurs enregistrés par jour.

mysql> set @csum := 0;

mysql> select date_joined,new_users, (@csum := @csum + new_users) as total_users
            from (
             select date(date_joined) as date_joined,count(user_id) as new_users
             from users
             group by date(date_joined)
            ) as temp
            order by date_joined;
+-------------+-----------+-------------+
| date_joined | new_users | total_users |
+-------------+-----------+-------------+
| 2020-04-28  |         6 |           6 |
| 2020-04-30  |         3 |           9 |
| 2020-05-01  |         3 |          12 |
| 2020-05-04  |         6 |          18 |
| 2020-05-05  |         4 |          22 |
| 2020-05-06  |         2 |          24 |
+-------------+-----------+-------------+

Dans la requête ci-dessus, nous définissons une variable temporaire csum sur 0. Ensuite, pour chaque ligne, nous l'utilisons pour calculer et stocker la somme cumulée du nombre d'utilisateurs.

Après avoir obtenu de nouveaux utilisateurs dans MySQL, vous pouvez le tracer sur un graphique linéaire ou un tableau de bord à l'aide d'un outil de création de rapports comme Ubiq et le partager avec votre équipe. Voici un graphique linéaire créé à l'aide d'Ubiq.

J'espère que vous pourrez obtenir de nouveaux utilisateurs dans MySQL. 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.