CONDITIONAL_TRUE_EVENT [analytic]

从 0 开始向每个行分配一个事件窗口编号,并在当 boolean 参数表达式的结果评估为 true 时,以 1 为增量递增事件窗口编号。例如,假定某列的值的顺序如下:

( 1, 2, 3, 4, 5, 6 )

CONDITIONAL_TRUE_EVENT(a > 3) returns 0, 0, 0, 1, 2, 3.

行为类型

不可变

语法

CONDITIONAL_TRUE_EVENT ( boolean-expression ) OVER (
    [ window-partition-clause ]
    window-order-clause )

参数

boolean-expression
在输入记录中评估的 SQL 标量表达式,类型 BOOLEAN。
OVER()
请参阅分析函数

注意

分析 window-order-clause 是必需的,但 window-partition-clause 是可选的。

示例

> SELECT CONDITIONAL_TRUE_EVENT(bid > 10.6)
     OVER(PARTITION BY bid ORDER BY ts) AS cte
   FROM Tickstore;

如果忽略 ORDER BY 子句,系统将返回错误:

> SELECT CONDITIONAL_TRUE_EVENT(bid > 10.6)
      OVER(PARTITION BY bid) AS cte
   FROM Tickstore;

ERROR:  conditional_true_event must contain an ORDER BY
clause within its analytic clause

有关更多示例,请参阅事件窗口

另请参阅