本文為您介紹如何使用FIRST_VALUE函數,返回指定資料流的第1條非NULL資料。
使用限制
僅Realtime Compute引擎VVR 3.0.0及以上版本支援FIRST_VALUE函數。
文法
FIRST_VALUE( T value )
FIRST_VALUE( T value, BIGINT order )
入參
參數 | 資料類型 | 說明 |
value | 任意參數類型 | 指定資料流。 說明 如果輸入資料全為NULL,則返回NULL。 |
order | BIGINT | 根據order判定FIRST_VALUE所在行,取order值最小的記錄作為FIRST_VALUE。 |
重要 所有輸入參數需要為相同的資料類型。
樣本
- 測試資料
表 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,FIRST_VALUE(b) OVER (PARTITION BY c ORDER BY PROCTIME() RANGE UNBOUNDED PRECEDING) AS var1 FROM T1;
- 測試結果
c(VARCHAR) var1(INT) Hello 1 Hello 1 Hello 1 Hello 1 Hello 1 Hello 1 NULL 7 Hello World 7 Hello World 7 Hello World 7