Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Fungsi jendela NTH_VALUE mengembalikan nilai ekspresi dari baris tertentu dari bingkai jendela relatif terhadap baris pertama jendela.
Sintaksis
NTH_VALUE (expr, offset) [ IGNORE NULLS | RESPECT NULLS ] OVER ( [ PARTITION BY window_partition ] [ ORDER BY window_ordering frame_clause ] )
Argumen
- expr
-
Kolom target atau ekspresi tempat fungsi beroperasi.
- mengimbangi
-
Menentukan nomor baris relatif terhadap baris pertama di jendela untuk mengembalikan ekspresi. Offset dapat berupa konstanta atau ekspresi dan harus berupa bilangan bulat positif yang lebih besar dari 0.
- ABAIKAN NULLS
-
Spesifikasi opsional yang menunjukkan bahwa Amazon Redshift harus melewati nilai nol dalam penentuan baris mana yang akan digunakan. Nilai nol disertakan jika IGNORE NULLS tidak terdaftar.
- RESPECT NULLS
-
Menunjukkan bahwa Amazon Redshift harus menyertakan nilai nol dalam penentuan baris mana yang akan digunakan. RESPECT NULLS didukung secara default jika Anda tidak menentukan IGNORE NULLS.
- DI ATAS
-
Menentukan partisi jendela, pemesanan, dan bingkai jendela.
- PARTISI OLEH window_partition
-
Menetapkan rentang catatan untuk setiap grup dalam klausa OVER.
- PESANAN DENGAN window_ordering
-
Mengurutkan baris dalam setiap partisi. Jika ORDER BY dihilangkan, bingkai default terdiri dari semua baris di partisi.
- frame_clause
-
Jika klausa ORDER BY digunakan untuk fungsi agregat, klausa bingkai eksplisit diperlukan. Klausa bingkai menyempurnakan kumpulan baris di jendela fungsi, termasuk atau mengecualikan kumpulan baris dalam hasil yang diurutkan. Klausa bingkai terdiri dari kata kunci ROWS dan penentu terkait. Lihat Ringkasan sintaks fungsi jendela.
Fungsi jendela NTH_VALUE mendukung ekspresi yang menggunakan salah satu tipe data Amazon Redshift. Jenis pengembalian sama dengan tipe expr.
Contoh
Contoh berikut menunjukkan jumlah kursi di tempat terbesar ketiga di California, Florida, dan New York dibandingkan dengan jumlah kursi di tempat lain di negara bagian tersebut:
select venuestate, venuename, venueseats,
nth_value(venueseats, 3)
ignore nulls
over(partition by venuestate order by venueseats desc
rows between unbounded preceding and unbounded following)
as third_most_seats
from (select * from venue where venueseats > 0 and
venuestate in('CA', 'FL', 'NY'))
order by venuestate;
venuestate | venuename | venueseats | third_most_seats
------------+--------------------------------+------------+------------------
CA | Qualcomm Stadium | 70561 | 63026
CA | Monster Park | 69843 | 63026
CA | McAfee Coliseum | 63026 | 63026
CA | Dodger Stadium | 56000 | 63026
CA | Angel Stadium of Anaheim | 45050 | 63026
CA | PETCO Park | 42445 | 63026
CA | AT&T Park | 41503 | 63026
CA | Shoreline Amphitheatre | 22000 | 63026
FL | Dolphin Stadium | 74916 | 65647
FL | Jacksonville Municipal Stadium | 73800 | 65647
FL | Raymond James Stadium | 65647 | 65647
FL | Tropicana Field | 36048 | 65647
NY | Ralph Wilson Stadium | 73967 | 20000
NY | Yankee Stadium | 52325 | 20000
NY | Madison Square Garden | 20000 | 20000
(15 rows)