このトピックでは、LAST_VALUE関数の使用方法について説明します。この関数は、データストリームの最後の非NULLレコードを返します。
制限事項
この関数は、Ververica Runtime(VVR) 3.0.0以降を使用するRealtime Compute for Apache Flinkでのみサポートされています。
構文
T LAST_VALUE(T value)
T LAST_VALUE(T value, BIGINT order)入力パラメーター
| パラメーター | データ型 | 説明 |
| value | 任意のデータ型 | データストリーム。 |
| order | BIGINT | order値が最大の非NULLレコードが、最後の非NULLレコードと見なされます。 |
重要 すべての入力パラメーターは同じデータ型である必要があります。
例
- テストデータ
表 1. T1 a(BIGINT) b(INT) c(VARCHAR) 1 1 Hello 2 2 Hello 3 3 Hello 4 4 Hello 5 5 Hello 6 6 Hello 7 7 NULL 8 7 Hello World 9 8 Hello World 10 20 Hello World - テストステートメント
SELECT c,LAST_VALUE(b) OVER (PARTITION BY c ORDER BY PROCTIME() RANGE UNBOUNDED PRECEDING) AS var1 FROM T1; - テスト結果
c(VARCHAR) var1(INT) Hello 1 Hello 2 Hello 3 Hello 4 Hello 5 Hello 6 NULL 7 Hello World 7 Hello World 8 Hello World 20