SQLite sum()
fungsi mengembalikan jumlah semua nilai non-NULL dalam grup.
Jika tidak ada nilai non-NULL, maka akan mengembalikan NULL.
Fungsi ini pada dasarnya memungkinkan Anda untuk menjumlahkan semua nilai dalam kumpulan hasil atau tabel.
Contoh
Berikut ini contoh untuk mendemonstrasikan penggunaannya.
SELECT sum(Price) FROM Products;
Hasil:
738,22
Contoh ini mungkin tidak ada artinya jika Anda tidak dapat melihat nilai sebenarnya dalam tabel.
Berikut kueri yang mengembalikan semua baris dalam tabel itu.
SELECT * FROM Products;
Hasil:
ProductId ProductName Harga ---------- --------------------- ----------1 Blue Widgets (6 Paket) 389.45 2 Pemegang Widget 139.5 3 Pembuka Widget 89.27 4 Set Foobar 120.0 5 Widget Merah
Jadi sum()
fungsi cukup menambahkan semua nilai di Harga kolom.
Perhatikan bahwa harga baris terakhir adalah NULL. Tidak apa-apa. sum()
fungsi hanya menambahkan semua nilai non-NULL.
Nilai NULL
Jika tidak ada nilai non-NULL, maka hasilnya adalah NULL.
SELECT sum(Price)
FROM Products
WHERE ProductId = 5;
Hasil:
(Itu sengaja dikosongkan, karena mengembalikan NULL).
Ini berbeda dengan cara SQLite
total()
fungsi berhubungan dengan nilai NULL (mengembalikan 0.0). Keduanyasum()
dantotal()
melakukan hal yang sama, kecuali untuk perbedaan ini.Set Hasil Lebih Kecil
Contoh pertama menambahkan semua baris dalam tabel. Tapi itu tidak harus seluruh meja. Seperti yang terlihat pada contoh “NULL”, Anda juga dapat menggunakan
WHERE
klausa untuk menambahkan subset nilai dalam tabel.Berikut contoh lain yang menggunakan
WHERE
ayat.SELECT sum(Price) FROM Products WHERE ProductId < 3;
Hasil:
528,95Kali ini menambahkan nilai non-NULL, jadi saya mendapatkan hasil non-NULL.
Ini satu lagi yang memfilter menurut kolom yang sama yang saya tambahkan.
SELECT sum(Price) FROM Products WHERE Price > 100;
Hasil:
648,95Input Non-Bilangan Bulat
Jika ada input yang bukan bilangan bulat atau NULL maka
sum()
mengembalikan nilai floating point yang mungkin merupakan perkiraan jumlah sebenarnya.Anda mungkin mendapatkan beberapa hasil yang tidak terduga dalam kasus seperti itu.
Di bawah ini adalah contoh yang mencoba menambahkan sekelompok nomor faks.
Pertama, mari kita lihat daftar nomor faks.
SELECT Fax FROM Customer WHERE Fax IS NOT NULL;
Hasil:
Faks ------------------+55 (12) 3923-5566+420 2 4172 5555 +55 (11) 3033-4564+55 (11) 3055- 8131+55 (21) 2271-7070+55 (61) 3363-7855+1 (780) 434-5565 +1 (604) 688-8756 +1 (650) 253-0000 +1 (425) 882-8081 + 1 (212) 221-4679 +1 (408) 996-1011Sekarang inilah yang terjadi jika saya mencoba menambahkannya.
SELECT sum(Fax) FROM Customer;
Hasil:
701.0Dalam hal ini tampaknya telah menambahkan semua awalan.
Inilah yang terjadi jika saya menggunakan
sum()
pada kolom string.SELECT sum(ProductName) FROM Products;
Hasil:
0.0Kata Kunci YANG BERBEDA
Anda dapat menambahkan
DISTINCT
kata kunci untuk menambahkan hanya nilai yang berbeda. Untuk melakukannya, gunakansum(DISTINCT X)
dimanaX
adalah nama kolom.Lihat Cara Menambahkan Nilai Berbeda dengan SQLite Sum() sebagai contoh.