FIRST_VALUE window 聚集函数为每一 OLAP window 分区中的第一行返回指定的表达式的值。
元素 | 描述 | 限制 | 语法 |
---|---|---|---|
expression | 列名称、别名或常量表达式 | 如果 expression 引用一列,则该列必须也在该 Projection 子句的选择列表中 | 列表达式 |
FIRST_VALUE 函数返回的数据类型是指定的表达式的数据类型。结果可为 NULL。如果指定 IGNORE NULLS,则在计算中不考虑行的表达式值求值为 NULL 的所有行。如果指定 IGNORE NULLS,且在该 OLAP window 中的所有值都是 NULL,则 FIRST_VALUE 函数返回 NULL 值。
或可在紧跟在表达式之后的圆括号内,或可在圆括号的外部指定 RESPECT NULLS 或 IGNORE NULLS 选项,但仅允许一个这样的规范。
下列语句返回 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