sql >> Base de Datos >  >> RDS >> Mysql

Cómo obtener nuevos usuarios por día en MySQL

Es muy importante contar los nuevos usuarios por día para cada negocio. Puede usarlo para contar los nuevos usuarios diarios, analizar el número total de usuarios registrados por fecha e incluso crear un informe diario. Aquí le mostramos cómo obtener nuevos usuarios por día en MySQL.

Cómo obtener nuevos usuarios por día en MySQL

Estos son los pasos para obtener nuevos usuarios por día en MySQL. Puede usarlo para contar los usuarios registrados por día.

Digamos que tiene una tabla users(user_id, date_joined) que almacena todas las identificaciones de usuario junto con su fecha de unión/registro/registro.

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

Lectura adicional:Cómo obtener datos de ventas de los últimos 3 meses en MySQL

En este caso, solo tiene 1 registro por usuario, por lo que puede obtener fácilmente nuevos usuarios en MySQL haciendo un conteo inteligente de fechas en SQL. Aquí está la consulta SQL para contar registros por día en 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       |
+-------------------+----------------+

En la consulta anterior, simplemente usamos una función agregada de FECHA para contar el número diario de usuarios registrados.

Lectura adicional:Cómo obtener registros del mes actual en MySQL

Si desea filtrar datos según condiciones específicas, puede agregar una cláusula WHERE como se muestra a continuación.

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

Lectura adicional:Cómo importar un archivo CSV a MySQL Workbench

Si también desea calcular el total de usuarios acumulados por día, aquí está la consulta SQL para obtener nuevos usuarios por día en MySQL. Usaremos el resultado de la consulta anterior como entrada para calcular el número total de nuevos usuarios registrados por día.

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

En la consulta anterior, establecemos una variable temporal csum en 0. Luego, para cada fila, la usamos para calcular y almacenar la suma acumulativa del recuento de usuarios.

Después de obtener nuevos usuarios en MySQL, puede representarlos en un gráfico de líneas o en un tablero con una herramienta de generación de informes como Ubiq y compartirlos con su equipo. Aquí hay un gráfico de líneas creado con Ubiq.

Con suerte, puede obtener nuevos usuarios en MySQL. Si desea crear gráficos, paneles e informes desde la base de datos MySQL, puede probar Ubiq. Ofrecemos una prueba gratuita de 14 días.