如何解决需要在LAG函数中将偏移值包含为expr
我正在将Redshift SQL迁移到雪花SQL。 需要建议如何将偏移值作为表达式包含在雪花的LAG()中。关于偏移量,Redshift支持LAG()中的表达式,而雪花则不支持。
例如: SF中预期的SQL:
LAG(exp,**exp**) over (partition by col1 order by col2)
解决方法
当前不支持LAG函数的第二个输入参数的表达。如果使用传递表达式,则会收到以下错误消息。
错误:SQL编译错误:函数LAG的参数2必须为常量,找到'EXPR'-其中EXPR是表达式
管道中正在提出一项改进请求,以支持LAG()函数的第二个参数中的表达式。
解决方法 您可以通过向表中添加ROW_NUMBER()并进行自我联接来重写LAG函数。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。