我正在使用 Exasol,在其他 DBMS 中,可以使用分析函数,并为带有函数的子句LAST_VALUE()
指定一些条件,例如:ORDER BY
OVER()
select ...
LAST_VALUE(customer)
OVER (PARTITION BY ID ORDER BY date_x DESC ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING ) as the_last
不幸的是,我收到以下错误:
错误:[0A000] 不支持功能:窗口子句(会话:1606983630649130920)
AND 1 PRECEDING
如果代替我使用,则不会发生同样的情况: CURRENT ROW
。
基本上我想要的是根据不是当前行的 Order by获取最后一个值。在此示例中,它将是前一行的 $customer。
我知道我可以使用,LAG(customer,1) OVER ( ...)
但问题是我想要以前的客户不为空,所以偏移量并不总是 1...
我怎样才能做到这一点?
非常感谢!