FIRST_VALUE 函数

FIRST_VALUE window 聚集函数为每一 OLAP window 分区中的第一行返回指定的表达式的值。

语法

FIRST_VALUE 函数
元素 描述 限制 语法
expression 列名称、别名或常量表达式 如果 expression 引用一列,则该列必须也在该 Projection 子句的选择列表中 列表达式

用法

FIRST_VALUE 函数返回的数据类型是指定的表达式的数据类型。结果可为 NULL。如果指定 IGNORE NULLS,则在计算中不考虑行的表达式值求值为 NULL 的所有行。如果指定 IGNORE NULLS,且在该 OLAP window 中的所有值都是 NULL,则 FIRST_VALUE 函数返回 NULL 值。

或可在紧跟在表达式之后的圆括号内,或可在圆括号的外部指定 RESPECT NULLS 或 IGNORE NULLS 选项,但仅允许一个这样的规范。

示例:FIRST_VALUE 函数

下列语句返回 window 分区中按天排的存货价格,以及与第一个值 18.25 的存货价格的差异。

SELECT price, price – FIRST_VALUE(price)
        OVER (PARTITION BY year ORDER BY tradingday)    
        AS diff_price
        FROM stock_price
        WHERE tradingday between '2012-11-01' and '2012'-11-07';
        
        price        diff_price
        18.25                 0
        18.37              0.12
        
        
        19.03              0.78
        18.59              0.34
        18.21             -0.04
1 请参阅 OLAP window 表达式的 OVER 子句