Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So erhalten Sie neue Benutzer pro Tag in MySQL

Es ist sehr wichtig, für jedes Unternehmen jeden Tag neue Benutzer zu zählen. Sie können es verwenden, um täglich neue Benutzer zu zählen, die Gesamtzahl der registrierten Benutzer nach Datum zu analysieren und sogar tagesweise Berichte zu erstellen. So gewinnen Sie täglich neue Benutzer in MySQL.

Wie man neue Benutzer pro Tag in MySQL gewinnt

Hier sind die Schritte, um neue Benutzer pro Tag in MySQL zu gewinnen. Sie können es verwenden, um registrierte Benutzer pro Tag zu zählen.

Nehmen wir an, Sie haben eine Tabelle users(user_id, date_joined) die alle Benutzer-IDs zusammen mit ihrem Beitritts-/Registrierungs-/Registrierungsdatum speichert.

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

Bonuslektüre:So erhalten Sie die Verkaufsdaten der letzten 3 Monate in MySQL

In diesem Fall haben Sie nur 1 Datensatz pro Benutzer, sodass Sie problemlos neue Benutzer in MySQL gewinnen können, indem Sie in SQL eine datumsbezogene Zählung durchführen. Hier ist die SQL-Abfrage zum Zählen von Datensätzen pro Tag in 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       |
+-------------------+----------------+

In der obigen Abfrage verwenden wir einfach eine DATE-Aggregatfunktion, um die tägliche Anzahl registrierter Benutzer zu zählen.

Bonus-Lesung:So erhalten Sie Aufzeichnungen des aktuellen Monats in MySQL

Wenn Sie Daten basierend auf bestimmten Bedingungen filtern möchten, können Sie eine WHERE-Klausel hinzufügen, wie unten gezeigt.

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

Bonuslektüre:So importieren Sie eine CSV-Datei in MySQL Workbench

Wenn Sie auch die kumulative Gesamtzahl der Benutzer pro Tag berechnen möchten, finden Sie hier die SQL-Abfrage, um neue Benutzer pro Tag in MySQL zu erhalten. Wir verwenden das Ergebnis der obigen Abfrage als Eingabe, um die Gesamtzahl der registrierten neuen Benutzer pro Tag zu berechnen.

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

In der obigen Abfrage setzen wir eine temporäre Variable csum auf 0. Dann verwenden wir sie für jede Zeile, um die kumulative Summe der Benutzeranzahl zu berechnen und zu speichern.

Nachdem Sie neue Benutzer in MySQL gewonnen haben, können Sie sie mit einem Berichtstool wie Ubiq in einem Liniendiagramm oder Dashboard darstellen und mit Ihrem Team teilen. Hier ist ein Liniendiagramm, das mit Ubiq erstellt wurde.

Hoffentlich können Sie neue Benutzer in MySQL gewinnen. Wenn Sie Diagramme, Dashboards und Berichte aus einer MySQL-Datenbank erstellen möchten, können Sie Ubiq ausprobieren. Wir bieten eine 14-tägige kostenlose Testversion an.