MySQL tidak memiliki fungsi untuk menghitung total kumulatif, juga dikenal sebagai total berjalan. Anda perlu menulis kueri SQL untuk menghitung jumlah kumulatif di MySQL. Jadi mari kita lihat kueri SQL untuk menghitung total yang berjalan di MySQL.
Cara Menghitung Running Total di MySQL
Berikut cara menghitung running total di MySQL. Katakanlah Anda memiliki tabel berikut yang berisi penjualan harian.
mysql> create table sales(order_date date,sale int); mysql> insert into sales values('2020-01-01',20), ('2020-01-02',25),('2020-01-03',15),('2020-01-04',30),('2020-01-05',20); mysql> select * from sales; +------------+------+ | order_date | sale | +------------+------+ | 2020-01-01 | 20 | | 2020-01-02 | 25 | | 2020-01-03 | 15 | | 2020-01-04 | 30 | | 2020-01-05 | 20 | +------------+------+
Katakanlah Anda ingin menghitung total berjalan, untuk tabel ini, seperti ini.
+------------+------+-----------------+ | order_date | sale | cumulative_sale | +------------+------+-----------------+ | 2020-01-01 | 20 | 20 | | 2020-01-02 | 25 | 45 | | 2020-01-03 | 15 | 60 | | 2020-01-04 | 30 | 90 | | 2020-01-05 | 20 | 110 | +------------+------+-----------------+
Bonus Baca : Cara Menggabungkan Beberapa Baris menjadi Satu Bidang di MySQL
Berikut query SQL untuk menghitung total running di MySQL.
mysql> set @csum := 0; mysql> select order_date,sale, (@csum := @csum + sale) as cumulative_sale from sales order by order_date; +------------+------+-----------------+ | order_date | sale | cumulative_sale | +------------+------+-----------------+ | 2020-01-01 | 20 | 20 | | 2020-01-02 | 25 | 45 | | 2020-01-03 | 15 | 60 | | 2020-01-04 | 30 | 90 | | 2020-01-05 | 20 | 110 | +------------+------+-----------------+
Dalam kueri di atas, pertama-tama kita menetapkan variabel yang ditentukan pengguna csum ke 0. Kita menggunakannya untuk menyimpan total berjalan setiap baris. Penting untuk dicatat bahwa csum tidak disimpan di tabel mana pun. Ini hanya digunakan untuk menampilkan nilai total yang berjalan.
Jika Anda ingin menyimpan total berjalan ini, Anda dapat menambahkan kolom baru ke tabel Anda dan menggunakan klausa UPDATE untuk menyimpan nilai total yang berjalan.
mysql> alter table sales add column cumulative_sum int; mysql> set @csum := 0; mysql> update sales set cumulative_sum = (@csum := @csum + sale) order by order_date; mysql> select order_date,sale,cumulative_sum from sales; +------------+------+----------------+ | order_date | sale | cumulative_sum | +------------+------+----------------+ | 2020-01-01 | 20 | 20 | | 2020-01-02 | 25 | 45 | | 2020-01-03 | 15 | 60 | | 2020-01-04 | 30 | 90 | | 2020-01-05 | 20 | 110 | +------------+------+----------------+
Bonus Baca : Cara Menambahkan Total Baris di MySQL
Anda juga dapat menyesuaikan kueri SQL Anda menggunakan klausa WHERE atau GABUNG, seperti yang ditunjukkan,
mysql> set @csum := 0; mysql> select order_date,sale, (@csum := @csum + sale) as cumulative_sale from sales where <condition> order by order_date;
Karena MySQL tidak menawarkan fungsi bawaan untuk menjalankan total, Anda dapat menggunakan kueri SQL di atas untuk menjalankan total di MySQL. Anda juga dapat menggunakan BULAN(tanggal_pesanan) bukannya tanggal_pesanan di atas jika Anda ingin menulis SQL untuk jumlah kumulatif per bulan.
Setelah menghitung total lari, Anda dapat menggunakan alat bagan untuk memplot data ini dalam bagan garis dan membagikannya dengan tim Anda. Berikut adalah contoh diagram garis yang menunjukkan total lari, dibuat menggunakan Ubiq.
Jika Anda ingin membuat grafik, dasbor &laporan dari database MySQL, Anda dapat mencoba Ubiq. Kami menawarkan uji coba gratis selama 14 hari.