Jumlah Kumulatif SQL

Jumlah Kumulatif Sql



Dalam SQL, jumlah kumulatif mengacu pada metode yang memungkinkan kita menghitung total kolom numerik dalam tabel database. Jumlah kumulatif berperan dalam berbagai skenario seperti melacak kemajuan atau menghitung rata-rata bergulir dari nilai tertentu.

Dalam tutorial ini, kita akan mempelajari cara mengimplementasikan dan memanfaatkan penjumlahan kumulatif dalam SQL menggunakan berbagai metode dan teknik.







Contoh data

Untuk lebih memahami bagaimana kita dapat menerapkan dan menggunakan jumlah kumulatif, mari kita mulai dengan menyiapkan tabel dasar dengan data sampel. Hal ini memungkinkan kami untuk mendemonstrasikan cara kerja semua metode dengan cepat dan efisien di postingan ini.



Mulailah dengan membuat tabel dasar yang menyimpan informasi produk.



BUAT produk TABEL (
product_id INT KUNCI UTAMA,
nama_produk VARCHAR ( 255 ) ,
harga DESIMAL ( 10 , 2 )
) ;





Ini akan membuat tabel baru bernama “produk” yang menyimpan id produk, nama produk, dan harga setiap produk.

Kita kemudian dapat melanjutkan untuk menambahkan data sampel seperti yang ditunjukkan dalam contoh pernyataan penyisipan berikut:



MASUKKAN KE dalam produk ( id_produk, nama_produk, harga )
NILAI
( 1 , 'Kode Studio Visual' , 10.00 ) ,
( 2 , 'Teks Luhur' , 80.00 ) ,
( 3 , 'PyCharm Profesional' , 199.00 ) ,
( 4 , 'IDE Gerhana' , 30.00 ) ,
( 5 , 'IntelliJ IDEA Ultimate' , 699.00 ) ,
( 6 , 'Desktop GitHub' , 20.00 ) ,
( 7 , 'Tunggu Perangkat Lunak' , 10.00 ) ,
( 8 , 'Xkode' , 660,00 ) ,
( 9 , 'NetBeans' , 0,00 ) ,
( 10 , 'Atom' , 60.00 ) ;

CATATAN: Data yang diberikan sepenuhnya fiktif. Ini tidak mewakili harga sebenarnya dari item mana pun yang tercantum.

Tabel yang dihasilkan adalah sebagai berikut:

Jumlah Kumulatif SQL (Bergabung Sendiri)

Salah satu teknik yang dapat kita gunakan untuk melakukan penjumlahan kumulatif pada kolom tertentu adalah dengan menggunakan metode self-join. Salah satu keuntungan dari metode ini adalah ia bekerja di hampir semua database SQL bahkan yang tidak mendukung fungsi Window.

Ambil contoh tabel “produk” sebelumnya. Kita dapat membuat jumlah kumulatif kolom harga seperti yang ditunjukkan dalam kueri berikut:

PILIH
p1.id_produk,
p1.nama_produk,
p1.harga,
JUMLAH ( p2.harga ) SEBAGAI jumlah_kumulatif
DARI
produk p1
BERGABUNG
produk p2
PADA
p1.id_produk > = p2.id_produk
KELOMPOK OLEH
p1.id_produk,
p1.nama_produk,
p1.harga
DIPESAN OLEH
p1.id_produk;

Apakah Anda memperhatikan cara kerja kueri? Jika tidak, tetaplah bersama kami saat kami menjelaskannya langkah demi langkah.

Dalam contoh kueri yang diberikan, kita mulai dengan membuat dua alias – “p1” dan “p2” – untuk tabel “produk” yang memungkinkan kita melakukan penggabungan mandiri.

Kami kemudian melanjutkan untuk menggabungkan “p1” dan “p2” dengan syarat “product_id” dari “p1” lebih besar dari atau sama dengan “product_id” dari “p2”.

Pada langkah selanjutnya, kita memanggil fungsi sum() yang pada dasarnya menghitung jumlah kumulatif harga untuk setiap baris.

Terakhir, kami mengelompokkan hasil menggunakan “id_produk”, “nama_produk”, dan “harga” dan mengurutkan hasilnya.

Setelah operasi ini, kita akan memiliki jumlah kumulatif untuk setiap record seperti yang ditunjukkan pada tabel yang dihasilkan seperti berikut ini:

Seperti yang Anda lihat, kami mendapatkan jumlah total dari semua baris sebelumnya. Baris terakhir harus berisi jumlah total semua baris sebelumnya.

Jumlah Kumulatif SQL (Fungsi Jendela)

Cara yang lebih efisien dan praktis untuk menghitung jumlah kumulatif dalam SQL adalah dengan memanfaatkan fungsi jendela kapan pun didukung.

Jika Anda memiliki database seperti SQL Server, PostgreSQL, atau MySQL versi 8.0 dan yang lebih baru, ini adalah metode yang paling berguna dan direkomendasikan untuk menentukan jumlah kumulatif kolom tertentu.

Lihatlah contoh seperti yang ditunjukkan berikut ini:

PILIH
ID Produk,
nama Produk,
harga,
JUMLAH ( harga ) LEBIH ( PESANAN BERDASARKAN product_id ) SEBAGAI jumlah_kumulatif
DARI
produk;

Dalam hal ini, kita mulai dengan memilih kolom “product_id”, “product_name”, dan “price” dari tabel “products”.

Kami kemudian menggunakan fungsi SUM() sebagai fungsi jendela menggunakan klausa OVER.

Dalam klausa OVER, kami menentukan klausa ORDER BY yang menentukan urutan penghitungan jumlah kumulatif.

Ini akan menghasilkan output serupa seperti yang ditunjukkan berikut ini:

Anda akan melihat bahwa penggunaan fungsi jendela lebih koheren, efisien, dan mudah dibaca dibandingkan menggunakan self-join.

Kesimpulan

Dalam tutorial ini, kita mempelajari semua tentang jumlah kumulatif dalam SQL. Kami juga membahas cara menggunakan fungsi self-joins dan window untuk melakukan penjumlahan kumulatif dalam SQL.