SQLite count()
fungsi dapat digunakan untuk mengembalikan jumlah baris dalam kumpulan hasil.
Ini juga dapat digunakan untuk mengembalikan berapa kali kolom tertentu tidak NULL dalam kumpulan hasil.
Ini dapat digunakan dengan dua cara. Jika Anda memberikan tanda bintang (*
) karakter wildcard, itu akan mengembalikan jumlah baris dalam grup. Jika Anda memberikan nama kolom, itu akan mengembalikan berapa kali kolom itu tidak NULL.
Sintaks
Sintaksnya seperti ini:
count(X)
count(*)
Jadi dalam hal ini, X
bisa berupa nama kolom, dan tanda bintang (*
) wildcard digunakan untuk menentukan jumlah total baris dalam grup.
Contoh:count(*)
Berikut adalah contoh dasar untuk mendemonstrasikan sintaks asterisk (*) untuk mengembalikan jumlah baris dalam tabel.
SELECT count(*) FROM Customer;
Hasil:
59
Saya menjalankan kueri ini pada database sampel Chinook, dan ternyata ada 59 baris di Pelanggan tabel.
Contoh:count(X)
Dalam contoh ini, saya memberikan nama kolom tertentu dari tabel.
SELECT count(Fax) FROM Customer;
Hasil:
12
Dalam hal ini, Faks kolom memiliki 12 nilai non-NULL.
Dengan kata lain, 47 baris berisi nilai NULL di Faks kolom.
Menggunakan Klausa WHERE
Hasil dari count()
dihitung setelah WHERE
klausa.
SELECT count(Fax)
FROM Customer
WHERE CustomerId <= 5;
Hasil:
2
Dalam hal ini, hanya ada dua nilai non-NULL di Faks kolom dalam kumpulan hasil.
Berikut adalah tampilan hasil dengan kolom yang dikembalikan (dan tanpa menggunakan count()
fungsi).
SELECT CustomerId, Fax
FROM Customer
WHERE CustomerId <= 5;
Hasil:
CustomerId Fax ---------- ------------------ 1 +55 (12) 3923-5566 2 3 4 5 +420 2 4172 5555
Jadi kita dapat melihat bahwa hanya baris 1 dan 5 yang memiliki nilai non-NULL di Faks kolom.
Menggunakan Klausa LIMIT
Hasilnya tidak dihitung setelah LIMIT
klausa.
SELECT count(Fax)
FROM Customer
LIMIT 5;
Hasil:
12
Tetapi Anda dapat melakukan sesuatu seperti ini sebagai gantinya:
SELECT count(Fax)
FROM (SELECT Fax FROM Customer
LIMIT 5);
Hasil:
2
Hasil yang Dikelompokkan
Satu kasus penggunaan praktis untuk count()
adalah menggunakannya bersama dengan GROUP BY
klausa, sehingga beberapa baris dikembalikan – masing-masing mewakili grup – dengan jumlah baris dalam grup tersebut.
Ini contohnya.
SELECT
ar.Name,
count(al.Title)
FROM Album al
INNER JOIN Artist ar
ON ar.ArtistId = al.ArtistId
WHERE ar.Name LIKE 'D%'
GROUP BY ar.Name
LIMIT 10;
Hasil:
Name count(al.Title) --------------- --------------- David Coverdale 1 Deep Purple 11 Def Leppard 1 Dennis Chambers 1 Djavan 2 Dread Zeppelin 1
Kata Kunci YANG BERBEDA
Anda dapat menambahkan DISTINCT
kata kunci untuk menghitung hanya nilai yang berbeda. Dengan kata lain, Anda dapat menghapus nilai duplikat dalam perhitungan.
Untuk contohnya, lihat Cara Menghapus Duplikat dari Hasil SQLite Count().