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

Cara Menghitung Total Berjalan di MySQL

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.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Menginstal MySQL 8 di Ubuntu

  2. Menjatuhkan batasan unik dari tabel MySQL

  3. Bagaimana cara mengubah nama tabel MySQL di server Linux menjadi tidak peka huruf besar-kecil?

  4. MySql memperbarui dua tabel sekaligus

  5. MySQL Errno 150