Topik ini menjelaskan penggunaan fungsi LAST_VALUE, yang mengembalikan rekaman non-null terakhir dari suatu aliran data.
Batasan
Fungsi ini hanya didukung di Realtime Compute for Apache Flink yang menggunakan Ververica Runtime (VVR) versi 3.0.0 atau lebih baru.
Sintaksis
T LAST_VALUE(T value)
T LAST_VALUE(T value, BIGINT order)Parameter input
| Parameter | Tipe data | Deskripsi |
| value | Semua tipe data | Sebuah aliran data. |
| order | BIGINT | Rekaman non-null dengan nilai urutan terbesar dianggap sebagai rekaman non-null terakhir. |
null Semua parameter input harus memiliki tipe data yang sama.
Contoh
- Data Uji
Tabel 1. T1
a(BIGINT) b(INT) c(VARCHAR) 1 1 Halo 2 2 Halo 3 3 Halo 4 4 Halo 5 5 Halo 6 6 Halo 7 7 NULL 8 7 Halo Dunia 9 8 Halo Dunia 10 20 Halo Dunia - Pernyataan Uji
SELECT c,LAST_VALUE(b) OVER (PARTITION BY c ORDER BY PROCTIME() RANGE UNBOUNDED PRECEDING) AS var1 FROM T1; - Hasil Uji
c(VARCHAR) var1(INT) Halo 1 Halo 2 Halo 3 Halo 4 Halo 5 Halo 6 NULL 7 Halo Dunia 7 Halo Dunia 8 Halo Dunia 20