Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara Mendapatkan Total Pengguna Kumulatif Per Hari di MySQL

Total pengguna kumulatif harian adalah metrik KPI yang sangat berguna untuk menganalisis pertumbuhan pengguna, untuk setiap bisnis. Namun, karena tidak ada fungsi bawaan untuk menghitung total berjalan di MySQL, berikut adalah kueri SQL untuk mendapatkan total pengguna kumulatif per hari, juga dikenal sebagai jumlah bergulir menurut tanggal atau total pengguna berjalan.

Cara Mendapatkan Jumlah Pengguna Kumulatif Per Hari di MySQL

Berikut adalah langkah-langkah untuk mendapatkan total pengguna kumulatif per hari di MySQL. Katakanlah Anda memiliki tabel berikut users(date_joined,user_id) yang berisi semua ID pengguna dengan tanggal pendaftaran/mendaftar/bergabung dengan bisnis Anda.

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

Pertama, kita melihat kueri SQL untuk menghitung jumlah pendaftaran harian

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

Selanjutnya, inilah query SQL untuk mendapatkan total pengguna kumulatif per hari di MySQL. Kami akan menggunakan SQL di atas sebagai subquery untuk menjalankan total dalam SQL.

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

Dalam kueri di atas, kami menetapkan variabel sementara csum ke 0. Kemudian untuk setiap baris kami menggunakannya untuk menghitung dan menyimpan jumlah kumulatif pengguna.

Setelah Anda mendapatkan total pengguna kumulatif per hari di MySQL, Anda dapat memplotnya pada diagram garis atau dasbor menggunakan alat pelaporan seperti Ubiq dan membagikannya dengan tim Anda. Berikut adalah diagram garis yang dibuat menggunakan Ubiq.

Jika Anda ingin mendapatkan total running bersyarat di MySQL, Anda dapat menambahkan klausa WHERE di subquery, sesuai kebutuhan Anda.

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 
             WHERE <condition>
             group by date(date_joined)
            ) as temp
            order by date_joined;

Anda dapat dengan mudah memodifikasi kueri SQL di atas, untuk menghitung total pengguna kumulatif menurut minggu, bulan, kuartal, dan tahun. Mari kita lihat mereka satu per satu. Kami akan menggunakan fungsi DATE_FORMAT untuk dengan mudah mendapatkan kolom minggu, bulan dari tanggal.

Bonus Baca :Cara Menghitung Pendapatan di MySQL

Cara Mendapatkan Jumlah Pengguna Kumulatif Per Minggu di MySQL

Inilah kueri SQL untuk mendapatkan total pengguna kumulatif per minggu di MySQL. Dalam query SQL untuk mendapatkan total pengguna kumulatif per hari, Anda hanya perlu mengubah fungsi agregasi di subquery, dari date(date_joined) ke format_tanggal(format_tanggal,'%U') .

mysql> set @csum := 0;
mysql> select date_joined,new_users, (@csum := @csum + new_users) as total_users
            from (
             select date_format(date_joined,'%U') as date_joined,
               count(user_id) as new_users
             from users
             group by date_format(date_joined,'%U')
            ) as temp
            order by date_joined;

Dalam kueri di atas, Anda juga dapat menggunakan fungsi WEEK sebagai ganti DATE_FORMAT, yaitu, gunakan WEEK(date_joined) sebagai ganti DATE_FORMAT(date_joined,'%U')

Bonus Baca :Cara Mendapatkan Catatan Bulan Ini di MySQL

Cara Mendapatkan Jumlah Pengguna Kumulatif Per Bulan di MySQL

Inilah kueri SQL untuk mendapatkan total pengguna kumulatif berdasarkan bulan di MySQL. Dalam query SQL untuk mendapatkan total pengguna kumulatif per hari, Anda hanya perlu mengubah fungsi agregasi di subquery, dari date(date_joined) ke format_tanggal(format_tanggal,'%b') .

mysql> set @csum := 0;

mysql> select date_joined,new_users, (@csum := @csum + new_users) as total_users
            from (
             select date_format(date_joined,'%b') as date_joined,
               count(user_id) as new_users
             from users
             group by date_format(date_joined,'%b')
            ) as temp
            order by date_joined;

Bonus Baca :Cara Mendapatkan Data Penjualan 3 Bulan Terakhir di MySQL

Cara Mendapatkan Jumlah Pengguna Kumulatif Per Kuartal di MySQL

Inilah kueri SQL untuk mendapatkan total pengguna kumulatif per kuartal di MySQL. Dalam query SQL untuk mendapatkan total pengguna kumulatif per hari, Anda hanya perlu mengubah fungsi agregasi di subquery, dari date(date_joined) hingga seperempat(format_tanggal) .

mysql> set @csum := 0;
mysql> select date_joined,new_users, (@csum := @csum + new_users) as total_users
            from (
             select quarter(date_joined) as date_joined,
               count(user_id) as new_users
             from users
             group by quarter(date_joined)
            ) as temp
            order by date_joined;

Cara Mendapatkan Jumlah Pengguna Kumulatif Per Tahun di MySQL

Inilah kueri SQL untuk mendapatkan total pengguna kumulatif berdasarkan tahun di MySQL. Dalam query SQL untuk mendapatkan total pengguna kumulatif per hari, Anda hanya perlu mengubah fungsi agregasi di subquery, dari date(date_joined) ke tahun(format_tanggal) .

mysql> set @csum := 0;
mysql> select date_joined,new_users, (@csum := @csum + new_users) as total_users
            from (
             select year(date_joined) as date_joined,
               count(user_id) as new_users
             from users
             group by year(date_joined)
            ) as temp
            order by date_joined;

Itu dia! Anda dapat mencoba kueri SQL di atas untuk mendapatkan total pengguna kumulatif per hari di MySQL. Jika Anda ingin membuat grafik, dasbor &laporan dari database MySQL, Anda dapat mencoba Ubiq. Kami menawarkan uji coba gratis selama 14 hari.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Doctrine 2 dan tabel tautan Banyak-ke-banyak dengan bidang tambahan

  2. SQL CREATE DATABASE Syntax – Didaftarkan oleh DBMS

  3. Bisakah angka digunakan untuk memberi nama kolom tabel MySQL?

  4. Cara memilih nama kolom dengan spasi di MySQL

  5. mysql - berapa banyak kolom yang terlalu banyak?