Fungsi jendela NTILE - Amazon Redshift

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

Fungsi jendela NTILE

Fungsi jendela NTILE membagi baris yang diurutkan dalam partisi ke dalam jumlah kelompok peringkat yang ditentukan dengan ukuran yang sama mungkin dan mengembalikan grup tempat baris tertentu jatuh ke dalamnya.

Sintaks

NTILE (expr) OVER ( [ PARTITION BY expression_list ] [ ORDER BY order_list ] )

Argumen

expr

Jumlah kelompok peringkat dan harus menghasilkan nilai integer positif (lebih besar dari 0) untuk setiap partisi. Argumen expr tidak boleh dibatalkan.

DI ATAS

Sebuah klausa yang menentukan jendela partisi dan pemesanan. Klausa OVER tidak dapat berisi spesifikasi bingkai jendela.

PARTISI OLEH window_partition

Opsional. Rentang catatan untuk setiap grup dalam klausa OVER.

PESANAN DENGAN window_ordering

Opsional. Ekspresi yang mengurutkan baris dalam setiap partisi. Jika klausa ORDER BY dihilangkan, perilaku peringkatnya sama.

Jika ORDER BY tidak menghasilkan urutan unik, urutan baris adalah nondeterministik. Untuk informasi selengkapnya, lihat Urutan data yang unik untuk fungsi jendela.

Jenis pengembalian

BIGINT

Contoh-contoh

Contoh berikut peringkat ke dalam empat kelompok peringkat harga yang dibayarkan untuk tiket Hamlet pada 26 Agustus 2008. Hasil set adalah 17 baris, dibagi hampir merata di antara peringkat 1 sampai 4:

select eventname, caldate, pricepaid, ntile(4) over(order by pricepaid desc) from sales, event, date where sales.eventid=event.eventid and event.dateid=date.dateid and eventname='Hamlet' and caldate='2008-08-26' order by 4; eventname | caldate | pricepaid | ntile -----------+------------+-----------+------- Hamlet | 2008-08-26 | 1883.00 | 1 Hamlet | 2008-08-26 | 1065.00 | 1 Hamlet | 2008-08-26 | 589.00 | 1 Hamlet | 2008-08-26 | 530.00 | 1 Hamlet | 2008-08-26 | 472.00 | 1 Hamlet | 2008-08-26 | 460.00 | 2 Hamlet | 2008-08-26 | 355.00 | 2 Hamlet | 2008-08-26 | 334.00 | 2 Hamlet | 2008-08-26 | 296.00 | 2 Hamlet | 2008-08-26 | 230.00 | 3 Hamlet | 2008-08-26 | 216.00 | 3 Hamlet | 2008-08-26 | 212.00 | 3 Hamlet | 2008-08-26 | 106.00 | 3 Hamlet | 2008-08-26 | 100.00 | 4 Hamlet | 2008-08-26 | 94.00 | 4 Hamlet | 2008-08-26 | 53.00 | 4 Hamlet | 2008-08-26 | 25.00 | 4 (17 rows)