Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting blog
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Fungsi jendela LAST_VALUE
Diberikan set baris yang teratur, Fungsi LAST_VALUE mengembalikan nilai ekspresi sehubungan dengan baris terakhir dalam bingkai.
Untuk informasi tentang memilih baris pertama dalam bingkai, lihatFungsi jendela FIRST_VALUE.
Sintaksis
LAST_VALUE( expression )[ IGNORE NULLS | RESPECT NULLS ] OVER ( [ PARTITION BY expr_list ] [ ORDER BY order_list frame_clause ] )
Argumen
- ekspresi
-
Kolom target atau ekspresi tempat fungsi beroperasi.
- ABAIKAN NULLS
-
Fungsi mengembalikan nilai terakhir dalam frame yang bukan NULL (atau NULL jika semua nilai adalah NULL).
- 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
-
Memperkenalkan klausa jendela untuk fungsi.
- PARTISI OLEH expr_list
-
Mendefinisikan jendela untuk fungsi dalam hal satu atau lebih ekspresi.
- PESANAN BERDASARKAN order_list
-
Mengurutkan baris dalam setiap partisi. Jika tidak ada klausa PARTITION BY yang ditentukan, ORDER BY mengurutkan seluruh tabel. Jika Anda menentukan klausa ORDER BY, Anda juga harus menentukan klausa frame_.
Hasilnya tergantung pada urutan data. Hasilnya nondeterministik dalam kasus-kasus berikut:
-
Ketika tidak ada klausa ORDER BY yang ditentukan dan partisi berisi dua nilai berbeda untuk ekspresi
-
Ketika ekspresi mengevaluasi nilai berbeda yang sesuai dengan nilai yang sama dalam daftar ORDER BY.
-
- frame_klausa
-
Jika klausa ORDER BY digunakan untuk fungsi agregat, klausa frame eksplisit diperlukan. Klausa frame memurnikan 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.
Jenis pengembalian
Fungsi-fungsi ini mendukung ekspresi yang menggunakan tipe data Amazon Redshift primitif. Jenis pengembalian sama dengan tipe data ekspresi.
Contoh
Contoh berikut menggunakan tabel VENUE dari sampel data TICKIT. Untuk informasi selengkapnya, lihat Database sampel.
Contoh berikut mengembalikan kapasitas tempat duduk untuk setiap tempat di tabel VENUE, dengan hasil diurutkan berdasarkan kapasitas (tinggi ke rendah). Fungsi LAST_VALUE digunakan untuk memilih nama tempat yang sesuai dengan baris terakhir dalam bingkai: dalam hal ini, baris dengan jumlah kursi paling sedikit. Hasilnya dipartisi berdasarkan negara, jadi ketika nilai VENUESTATE berubah, nilai terakhir baru dipilih. Bingkai jendela tidak terbatas sehingga nilai terakhir yang sama dipilih untuk setiap baris di setiap partisi.
Untuk California, Shoreline Amphitheatre dikembalikan untuk setiap baris di partisi karena memiliki jumlah kursi terendah (22000).
select venuestate, venueseats, venuename, last_value(venuename) over(partition by venuestate order by venueseats desc rows between unbounded preceding and unbounded following) from (select * from venue where venueseats >0) order by venuestate;venuestate | venueseats | venuename | last_value -----------+------------+--------------------------------+------------------------------ CA | 70561 | Qualcomm Stadium | Shoreline Amphitheatre CA | 69843 | Monster Park | Shoreline Amphitheatre CA | 63026 | McAfee Coliseum | Shoreline Amphitheatre CA | 56000 | Dodger Stadium | Shoreline Amphitheatre CA | 45050 | Angel Stadium of Anaheim | Shoreline Amphitheatre CA | 42445 | PETCO Park | Shoreline Amphitheatre CA | 41503 | AT&T Park | Shoreline Amphitheatre CA | 22000 | Shoreline Amphitheatre | Shoreline Amphitheatre CO | 76125 | INVESCO Field | Coors Field CO | 50445 | Coors Field | Coors Field DC | 41888 | Nationals Park | Nationals Park FL | 74916 | Dolphin Stadium | Tropicana Field FL | 73800 | Jacksonville Municipal Stadium | Tropicana Field FL | 65647 | Raymond James Stadium | Tropicana Field FL | 36048 | Tropicana Field | Tropicana Field ...