我正在使用sqlalchemy生成查询,并且不确定如何在last_value()窗口函数和over()函数之间插入关键字“ IGNORE NULLS”。我现在拥有的sqlalchemy代码如下:
func.last_value(employee.created).over(partition_by=employee.id)
这将在select语句中生成以下sql
LAST_VALUE(employee.created) OVER (PARTITION BY employee.id)
理想情况下,我们希望在last_value和over函数之间插入关键字“ IGNORE NULLS”,如下所示:
LAST_VALUE(employee.created) IGNORE NULLS OVER (PARTITION BY employee.id)
但是,我不确定如何使用sqlalchemy库执行此操作。我正在为oracle方言编译sql。
答案 0 :(得分:0)
我想发布一个hacky解决方案,以防其他人对此有麻烦:
from sqlalchemy import func, text
func.last_value(employee.created.op('IGNORE')(text('NULLS'))).over(partition_by=employee.id)