Di MySQL, SUM()
fungsi agregat mengembalikan jumlah ekspresi yang diberikan.
Ini juga dapat digunakan untuk mengembalikan jumlah semua nilai (unik) yang berbeda dalam sebuah ekspresi.
Sintaks
Sintaksnya seperti ini:
SUM([DISTINCT] expr) [over_clause]
Contoh Data
Misalkan kita memiliki tabel bernama Products
dengan data sebagai berikut:
SELECT
VendorId,
ProductName,
ProductPrice
FROM Products;
Hasil:
+----------+---------------------------------+--------------+ | VendorId | ProductName | ProductPrice | +----------+---------------------------------+--------------+ | 1001 | Left handed screwdriver | 25.99 | | 1001 | Right handed screwdriver | 25.99 | | 1001 | Long Weight (blue) | 14.75 | | 1001 | Long Weight (green) | 11.99 | | 1002 | Sledge Hammer | NULL | | 1003 | Chainsaw | 245.00 | | 1003 | Straw Dog Box | 55.99 | | 1004 | Bottomless Coffee Mugs (4 Pack) | 9.99 | +----------+---------------------------------+--------------+
Contoh
Kita dapat menggunakan kueri berikut untuk mendapatkan jumlah semua harga.
SELECT SUM(ProductPrice)
FROM Products;
Hasil:
389.70
Di sini, informasi harga disimpan di ProductPrice
kolom, jadi kami meneruskannya sebagai argumen ke SUM()
fungsi, yang kemudian menghitung jumlah dan mengembalikan hasilnya.
Nilai Null
SUM()
fungsi mengabaikan nilai NULL apa pun. Dalam tabel contoh kami di atas, palu godam memiliki nilai NULL di ProductPrice
kolom, tapi itu diabaikan dalam perhitungan.
Hasil yang Difilter
SUM()
fungsi beroperasi pada baris yang dikembalikan oleh kueri. Jadi jika Anda memfilter hasilnya, output dari SUM()
akan mencerminkan hal itu.
SELECT SUM(ProductPrice)
FROM Products
WHERE VendorId = 1001;
Hasil:
78.72
Dalam hal ini, 78,72 adalah jumlah dari semua produk yang ditawarkan oleh vendor tertentu.
Yang DISTINCT
Kata kunci
Anda dapat menggunakan DISTINCT
kata kunci dengan SUM()
untuk menghitung hanya nilai yang berbeda. Artinya, jika ada nilai duplikat, mereka diperlakukan sebagai satu nilai.
Contoh:
SELECT SUM(DISTINCT ProductPrice)
FROM Products;
Hasil:
363.71
Meja kami berisi dua item dengan harga yang sama (obeng tangan kiri dan obeng tangan kanan sama-sama dihargai 25,99). DISTINCT
kata kunci menghasilkan kedua nilai tersebut diperlakukan sebagai satu.
Fungsi Jendela
Kita dapat menggunakan OVER
klausa dengan SUM()
fungsi untuk membuat fungsi jendela. Lihat SQL SUM()
untuk Pemula sebagai contoh.