Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
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.
Sintaksis
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 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)