全部產品
Search
文件中心

Realtime Compute for Apache Flink:FIRST_VALUE

更新時間:Jul 13, 2024

本文為您介紹如何使用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。
orderBIGINT根據order判定FIRST_VALUE所在行,取order值最小的記錄作為FIRST_VALUE。
重要 所有輸入參數需要為相同的資料類型。

樣本

  • 測試資料
    表 1. T1
    a(BIGINT)b(INT)c(VARCHAR)
    11Hello
    22Hello
    33Hello
    44Hello
    55Hello
    66Hello
    77NULL
    87Hello World
    98Hello World
    1020Hello World
  • 測試語句
    SELECT c,FIRST_VALUE(b) 
    OVER (PARTITION BY c ORDER BY PROCTIME() RANGE UNBOUNDED PRECEDING) AS var1
    FROM T1;
  • 測試結果
    c(VARCHAR)var1(INT)
    Hello1
    Hello1
    Hello1
    Hello1
    Hello1
    Hello1
    NULL7
    Hello World7
    Hello World7
    Hello World7