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

Cara Menghitung Total Kumulatif di MySQL

Sering kali Anda mungkin perlu menghitung total berjalan atau total kumulatif untuk kolom tertentu, seperti penjualan. Karena tidak ada fungsi untuk menghitung total kumulatif di MySQL, Anda harus melakukannya melalui kueri SQL. Berikut adalah query SQL untuk menghitung total kumulatif di MySQL.

Cara Menghitung Total Kumulatif di MySQL

Berikut cara menghitung total kumulatif di MySQL. Katakanlah Anda memiliki tabel berikut yang berisi data 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 jumlah penjualan kumulatif, seperti,

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

Berikut query SQL untuk menghitung jumlah kumulatif 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 |
+------------+------+-----------------+

Bonus baca : Cara Membuat Pivot Table di MySQL

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

Harap dicatat, jumlah kumulatif ini tidak disimpan di kolom mana pun. Itu hanya ditampilkan dalam hasil.

Jika Anda ingin menyimpan nilai ini, Anda perlu menambahkan kolom baru ke tabel Anda dan menggunakan klausa UPDATE seperti yang ditunjukkan di bawah ini.

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

Anda dapat menyesuaikan kueri SQL Anda untuk menyertakan filter menggunakan klausa WHERE atau GABUNG, seperti yang ditunjukkan di bawah ini

mysql> set @csum := 0;
mysql> select order_date,sale, (@csum := @csum + sale) as cumulative_sale
       from sales where <condition>
       order by order_date;

Bonus Baca : Cara Menghitung Median di MySQL

Karena MySQL tidak menawarkan fungsi bawaan untuk penjumlahan kumulatif, Anda dapat menggunakan kueri SQL di atas untuk menghitung total kumulatif di MySQL.

Setelah Anda dapat menghitung total kumulatif di MySQL, Anda dapat menggunakan alat charting dengan mudah memplotnya sebagai diagram garis atau grafik batang, seperti yang ditunjukkan di bawah ini. Berikut adalah contoh bagan yang 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 Terbaik untuk Meng-host MySQL di Azure Cloud

  2. Bagaimana cara menginstal modul Python MySQLdb menggunakan pip?

  3. Cara Menambahkan Batasan NOT NULL di MySQL

  4. Cara Memperbaiki Kesalahan MySQL 1064

  5. Bagaimana ClusterControl Mengonfigurasi IP Virtual dan Apa yang Diharapkan Selama Failover