Ringkasan :dalam tutorial ini, Anda akan belajar bagaimana menggunakan SQLite SUM
berfungsi untuk menghitung jumlah semua nilai.
Pengantar SQLite SUM
fungsi
SUM
fungsi adalah fungsi agregat yang mengembalikan jumlah nilai non-NULL atau hanya nilai yang berbeda dalam grup.
Ekspresi berikut mengilustrasikan sintaks SUM
fungsi:
SUM([ALL | DISTINCT] expression);
Code language: SQL (Structured Query Language) (sql)
SUM
fungsi menggunakan ALL
klausa secara default. Ini berarti bahwa semua nilai input, apakah duplikat atau tidak, dipertimbangkan ketika SUM
fungsi melakukan perhitungan.
Jika Anda ingin menghitung jumlah unik nilai, Anda harus menentukan DISTINCT
klausa secara eksplisit dalam ekspresi.
Hasil dari SUM
fungsi adalah bilangan bulat jika semua nilai input non-NULL adalah bilangan bulat. Jika ada nilai input yang bukan bilangan bulat atau NULL
nilai, hasil dari SUM
fungsi adalah nilai floating-point.
Hasil dari SUM
fungsinya adalah NULL
jika dan hanya jika semua nilai input adalah NULL
.
Jika terjadi kesalahan integer overflow dan semua nilai input adalah NULL
atau bilangan bulat, SUM
fungsi melempar pengecualian integer overflow.
SQLite SUM
contoh fungsi
Kami akan menggunakan tracks
tabel dalam database sampel untuk demonstrasi.
Untuk mendapatkan total panjang semua trek di tracks
tabel, Anda menggunakan SUM
berfungsi sebagai pernyataan berikut:
SELECT
SUM(milliseconds)
FROM
tracks;
Code language: SQL (Structured Query Language) (sql)
Cobalah
SQLite SUM
fungsi dengan GROUP BY
klausa
Untuk menghitung total panjang setiap album, Anda perlu menggunakan SUM
berfungsi dengan GROUP BY
klausa.
Pertama, GROUP BY
klausa mengelompokkan satu set trek berdasarkan album. Kemudian, SUM
fungsi menghitung jumlah panjang trek per album.
Pernyataan berikut menggambarkan ide tersebut:
SELECT
AlbumId,
SUM(milliseconds)
FROM
tracks
GROUP BY
AlbumId;
Code language: SQL (Structured Query Language) (sql)
Cobalah
SQLite SUM
fungsi dan INNER JOIN
contoh klausa
Untuk memasukkan judul album dalam output, Anda bergabung dengan tracks
tabel ke albums
tabel menggunakan INNER JOIN
klausa sebagai berikut:
SELECT
tracks.albumid,
title,
SUM(milliseconds)
FROM
tracks
INNER JOIN albums ON albums.albumid = tracks.albumid
GROUP BY
tracks.albumid,
title;
Code language: SQL (Structured Query Language) (sql)
Cobalah
SQLite SUM
fungsi dan HAVING
contoh klausa
Anda dapat menggunakan SUM
fungsi di HAVING
klausa untuk memfilter grup berdasarkan kondisi tertentu.
Misalnya, pernyataan berikut mendapatkan semua album yang panjang totalnya lebih dari 1.000.000 milidetik:
SELECT
tracks.albumid AlbumId,
Title,
SUM(milliseconds)
FROM
tracks
INNER JOIN albums ON albums.albumid= tracks.albumid
GROUP BY
tracks.albumid,
title
HAVING
SUM(milliseconds) > 1000000;
Code language: SQL (Structured Query Language) (sql)
Cobalah
Dalam tutorial ini, kami telah memperkenalkan Anda ke SQLite SUM
fungsi yang mengembalikan jumlah nilai dalam grup.