Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Fungsi COUNT
Fungsi COUNT menghitung baris yang ditentukan oleh ekspresi.
Fungsi COUNT memiliki variasi berikut.
-
COUNT (*) menghitung semua baris dalam tabel target apakah mereka termasuk nol atau tidak.
-
COUNT (ekspresi) menghitung jumlah baris dengan nilai non-Null dalam kolom atau ekspresi tertentu.
-
COUNT (ekspresi DISTINCT) menghitung jumlah nilai non-Null yang berbeda dalam kolom atau ekspresi.
-
PERKIRAAN COUNT DISTINCT mendekati jumlah nilai non-NULL yang berbeda dalam kolom atau ekspresi.
Sintaks
COUNT( * | expression )
COUNT ( [ DISTINCT | ALL ] expression )
APPROXIMATE COUNT ( DISTINCT expression )
Argumen
- ekspresi
-
Kolom target atau ekspresi tempat fungsi beroperasi. Fungsi COUNT mendukung semua tipe data argumen.
- BERBEDA | SEMUA
-
Dengan argumen DISTINCT, fungsi menghilangkan semua nilai duplikat dari ekspresi yang ditentukan sebelum melakukan penghitungan. Dengan argumen ALL, fungsi mempertahankan semua nilai duplikat dari ekspresi untuk menghitung. ALL adalah default.
- KIRA-KIRA
-
Ketika digunakan dengan PERKIRAAN, fungsi COUNT DISTINCT menggunakan HyperLogLog algoritma untuk memperkirakan jumlah nilai non-NULL yang berbeda dalam kolom atau ekspresi. Kueri yang menggunakan kata kunci PERKIRAAN berjalan lebih cepat, dengan kesalahan relatif rendah sekitar 2%. Perkiraan dijamin untuk kueri yang mengembalikan sejumlah besar nilai berbeda, dalam jutaan atau lebih per kueri, atau per grup, jika ada klausa grup demi kelompok. Untuk set nilai berbeda yang lebih kecil, dalam ribuan, perkiraan mungkin lebih lambat daripada hitungan yang tepat. PERKIRAAN hanya dapat digunakan dengan COUNT DISTINCT.
Jenis pengembalian
Fungsi COUNT mengembalikan BIGINT.
Contoh-contoh
Hitung semua pengguna dari negara bagian Florida:
select count(*) from users where state='FL';
count ------- 510
Hitung semua nama acara dari tabel EVENT:
select count(eventname) from event;
count ------- 8798
Hitung semua nama acara dari tabel EVENT:
select count(all eventname) from event;
count ------- 8798
Hitung semua ID venue unik dari tabel EVENT:
select count(distinct venueid) as venues from event;
venues -------- 204
Hitung berapa kali setiap penjual mencantumkan batch lebih dari empat tiket untuk dijual. Kelompokkan hasil berdasarkan ID penjual:
select count(*), sellerid from listing where numtickets > 4 group by sellerid order by 1 desc, 2;
count | sellerid ------+---------- 12 | 6386 11 | 17304 11 | 20123 11 | 25428 ...
Contoh berikut membandingkan nilai pengembalian dan waktu eksekusi untuk COUNT dan PERKIRAAN COUNT.
select count(distinct pricepaid) from sales;
count ------- 4528 Time: 48.048 ms
select approximate count(distinct pricepaid) from sales;
count ------- 4553 Time: 21.728 ms