COUNT fungsi - Amazon Redshift

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

COUNT fungsi

COUNTFungsi menghitung baris yang ditentukan oleh ekspresi.

COUNTFungsi ini memiliki variasi berikut.

  • COUNT(*) menghitung semua baris dalam tabel target apakah mereka termasuk nol atau tidak.

  • COUNT(ekspresi) menghitung jumlah baris dengan NULL non-nilai dalam kolom atau ekspresi tertentu.

  • COUNT(DISTINCTekspresi) menghitung jumlah NULL non-nilai yang berbeda dalam kolom atau ekspresi.

  • APPROXIMATECOUNTDISTINCTmendekati jumlah NULL non-nilai 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. COUNTFungsi ini mendukung semua tipe data argumen.

DISTINCT | ALL

Dengan argumenDISTINCT, fungsi menghilangkan semua nilai duplikat dari ekspresi yang ditentukan sebelum melakukan penghitungan. Dengan argumenALL, fungsi mempertahankan semua nilai duplikat dari ekspresi untuk menghitung. ALLadalah default.

APPROXIMATE

Ketika digunakan denganAPPROXIMATE, COUNT DISTINCT fungsi menggunakan HyperLogLog algoritma untuk memperkirakan jumlah NULL non-nilai yang berbeda dalam kolom atau ekspresi. Kueri yang menggunakan APPROXIMATE kata kunci 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. APPROXIMATEhanya dapat digunakan dengan COUNTDISTINCT.

Jenis pengembalian

COUNTFungsi kembaliBIGINT.

Contoh

Hitung semua pengguna dari negara bagian Florida:

select count(*) from users where state='FL'; count ------- 510

Hitung semua nama acara dari EVENT tabel:

select count(eventname) from event; count ------- 8798

Hitung semua nama acara dari EVENT tabel:

select count(all eventname) from event; count ------- 8798

Hitung semua tempat unik IDs dari EVENT meja:

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 kembali dan waktu eksekusi untuk COUNT dan APPROXIMATECOUNT.

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