Dalam SQLite, total()
fungsi mengembalikan jumlah semua nilai non-NULL dalam grup.
Jika tidak ada nilai non-NULL, maka akan mengembalikan 0,0.
Fungsi ini mirip dengan sum()
fungsi, kecuali dalam cara menangani input NULL. Ketika tidak ada nilai non-NULL, maka sum()
mengembalikan NULL (bukan 0,0 seperti total()
fungsi kembali).
Contoh
Perhatikan tabel berikut.
SELECT * FROM Products;
Hasil:
ProductId ProductName Price ---------- --------------------- ---------- 1 Blue Widgets (6 Pack) 389.45 2 Widget Holder 139.5 3 Widget Opener 89.27 4 Foobar Set 120.0 5 Red Widget
Kita dapat menggunakan total()
berfungsi untuk mendapatkan total harga.
SELECT total(Price) FROM Products;
Hasil:
738.22
Meskipun harga baris terakhir adalah NULL, total()
function dapat menanganinya, karena ia menambahkan semua nilai non-NULL dan mengabaikan nilai NULL.
Semua Nilai NULL
Jika tidak ada nilai non-NULL, maka hasilnya adalah 0.0.
SELECT total(Price)
FROM Products
WHERE ProductId = 5;
Hasil:
0.0
Di sinilah total()
dan sum()
berbeda. Dalam hal ini, sum()
akan mengembalikan NULL.
total()
fungsi selalu mengembalikan nilai floating point.
Ingatlah bahwa ini tidak sesuai dengan standar SQL. Jika Anda ingin menggunakan kode yang sesuai standar, gunakan sum()
.
Dapatkan Total Subset
Berikut contoh lain yang menggunakan WHERE
klausa untuk mengembalikan subset dari tabel.
SELECT total(Price)
FROM Products
WHERE ProductId > 2;
Hasil:
209.27
Kali ini menambahkan nilai non-NULL, jadi saya mendapatkan hasil non-NULL.
Ini satu lagi yang memfilter menurut kolom yang sama yang saya tambahkan.
SELECT total(Price)
FROM Products
WHERE Price < 150;
Hasil:
348.77