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.