Ringkasan :dalam tutorial ini, Anda akan belajar bagaimana menggunakan SQLite COUNT
berfungsi untuk mendapatkan jumlah item dalam satu grup.
Pengantar SQLite COUNT()
fungsi
Fungsi COUNT()
adalah fungsi agregat yang mengembalikan jumlah item dalam grup.
Misalnya, Anda dapat menggunakan COUNT()
berfungsi untuk mendapatkan jumlah trek dari tracks
tabel, jumlah artis dari artists
tabel, dan seterusnya.
Berikut ini mengilustrasikan sintaks dasar COUNT
fungsi:
COUNT([ALL | DISTINCT] expression);
Code language: SQL (Structured Query Language) (sql)
Argumen
COUNT
fungsi berperilaku sesuai dengan argumen yang Anda berikan ke dalamnya dan opsi ALL
atau DISTINCT
yang Anda tentukan.
Berikut ini menjelaskan arti dari ALL
dan DISTINCT
pilihan:
ALL
:ketika Anda menentukan semua,COUNT()
fungsi menghitung semua nilai bukan nol termasuk duplikat.COUNT()
fungsi menggunakanALL
opsi secara default jika Anda melewatkannya.DISTINCT
:jika Anda secara eksplisit menggunakanDISTINCT
opsi,COUNT
fungsi hanya menghitung nilai unik dan bukan nol.
Ekspresi dapat berupa kolom atau ekspresi yang melibatkan kolom yang fungsinya COUNT()
diterapkan.
SQLite menyediakan sintaks lain dari COUNT()
fungsi:
COUNT(*)
Code language: SQL (Structured Query Language) (sql)
COUNT(*)
fungsi mengembalikan jumlah baris dalam tabel, termasuk baris termasuk NULL dan duplikat.
SQLite COUNT()
ilustrasi fungsi
Pertama, buat tabel bernama t1
yang memiliki satu kolom:
CREATE TABLE t1(c INTEGER);
Code language: SQL (Structured Query Language) (sql)
Kedua, masukkan lima baris ke dalam t1
tabel:
INSERT INTO t1(c)
VALUES(1),(2),(3),(null),(3);
Code language: SQL (Structured Query Language) (sql)
Ketiga, query data dari t1
tabel:
SELECT * FROM t1;
Code language: SQL (Structured Query Language) (sql)
Keempat, gunakan COUNT(*)
berfungsi untuk mengembalikan jumlah baris dalam t1
tabel:
SELECT COUNT(*) FROM t1;
Code language: SQL (Structured Query Language) (sql)
Seperti yang dapat Anda lihat dengan jelas dari output, kumpulan hasil menyertakan NULL dan baris duplikat.
Kelima, gunakan COUNT(expression)
untuk mendapatkan jumlah nilai bukan nol di kolom c
:
SELECT COUNT(c) FROM t1;
Code language: SQL (Structured Query Language) (sql)
Dalam contoh ini, COUNT(c)
mengembalikan jumlah nilai bukan nol. Ini menghitung baris duplikat sebagai baris terpisah.
Keenam, gunakan COUNT(DISTINCT expression)
untuk mendapatkan jumlah nilai unik dan bukan nol di kolom c
:
SELECT COUNT(DISTINCT c) FROM t1;
Code language: SQL (Structured Query Language) (sql)
SQLite COUNT(*)
contoh
Kami akan mengambil tabel tracks
dalam database sampel untuk mendemonstrasikan fungsionalitas COUNT(*)
fungsi.
1) SQLite COUNT(*)
contoh
Untuk mendapatkan jumlah baris dari tracks
tabel, Anda menggunakan COUNT(*)
fungsinya sebagai berikut:
SELECT count(*)
FROM tracks;
Code language: SQL (Structured Query Language) (sql)
Cobalah
count(*)
--------
3503
Code language: plaintext (plaintext)
2) SQLite COUNT(*)
dengan WHERE
contoh klausa
Pernyataan berikut menggunakan COUNT(*)
berfungsi dengan WHERE
klausa untuk menemukan jumlah lagu yang id albumnya 10:
SELECT COUNT(*)
FROM tracks
WHERE albumid = 10;
Code language: SQL (Structured Query Language) (sql)
Cobalah
COUNT(*)
--------
14
3) SQLite COUNT(*)
dengan GROUP BY
contoh klausa
Untuk mendapatkan semua album dan jumlah trek di setiap album, Anda menggabungkan COUNT(*)
berfungsi dengan GROUP BY
klausa:
SELECT
albumid,
COUNT(*)
FROM
tracks
GROUP BY
albumid;
Code language: SQL (Structured Query Language) (sql)
Cobalah
AlbumId COUNT(*)
------- --------
1 10
2 1
3 3
4 8
5 15
6 13
7 12
8 14
9 8
10 14
...
Dalam contoh ini:
- Pertama,
GROUP BY
klausa mengelompokkan trek menurut id album. - Kemudian,
COUNT(*)
fungsi mengembalikan jumlah trek untuk setiap album atau grup trek.
4) SQLite COUNT(*)
dengan HAVING
contoh klausa
Berikut ini menggunakan COUNT(*)
di HAVING
klausa untuk menemukan album yang memiliki lebih dari 25 lagu:
SELECT
albumid,
COUNT(*)
FROM
tracks
GROUP BY
albumid
HAVING COUNT(*) > 25
Code language: SQL (Structured Query Language) (sql)
Cobalah
AlbumId COUNT(*)
------- --------
23 34
73 30
141 57
229 26
5) SQLite COUNT(*)
dengan INNER JOIN
contoh klausa
Untuk membuat output dari kueri di atas lebih bermanfaat, Anda dapat menyertakan kolom nama album. Untuk melakukan ini, Anda menambahkan INNER JOIN
dan ORDER BY
klausa ke kueri seperti kueri berikut:
SELECT
tracks.albumid,
title,
COUNT(*)
FROM
tracks
INNER JOIN albums ON
albums.albumid = tracks.albumid
GROUP BY
tracks.albumid
HAVING
COUNT(*) > 25
ORDER BY
COUNT(*) DESC;
Code language: SQL (Structured Query Language) (sql)
Cobalah
AlbumId Title COUNT(*)
------- -------------- --------
141 Greatest Hits 57
23 Minha Historia 34
73 Unplugged 30
229 Lost, Season 3 26
SQLite COUNT(DISTINCT expression)
contoh
Mari kita lihat employees
tabel dari database sampel.
SELECT
employeeid,
lastname,
firstname,
title
FROM
employees;
Code language: SQL (Structured Query Language) (sql)
Cobalah
EmployeeId LastName FirstName Title
---------- -------- --------- -------------------
1 Adams Andrew General Manager
2 Edwards Nancy Sales Manager
3 Peacock Jane Sales Support Agent
4 Park Margaret Sales Support Agent
5 Johnson Steve Sales Support Agent
6 Mitchell Michael IT Manager
7 King Robert IT Staff
8 Callahan Laura IT Staff
Untuk mendapatkan jumlah gelar posisi, Anda melewati title
kolom ke COUNT()
fungsinya sebagai berikut:
SELECT COUNT(title)
FROM employees;
Code language: SQL (Structured Query Language) (sql)
Cobalah
COUNT(title)
------------
8
Namun, untuk mendapatkan jumlah judul unik, Anda perlu menambahkan DISTINCT
opsi ke COUNT()
fungsi seperti yang ditunjukkan pada pernyataan berikut:
SELECT COUNT(DISTINCT title)
FROM employees;
Code language: SQL (Structured Query Language) (sql)
Cobalah
COUNT(DISTINCT title)
---------------------
5
Dalam tutorial ini, kami telah menunjukkan cara menggunakan SQLite COUNT()
berfungsi untuk menghitung jumlah item dalam satu grup.