繁体   English   中英

如果未设置,则复制上一行中的值

[英]Copy value in previous row if not set

我想为 BigQuery 编写一个SELECT查询,将列的值设置为上一行中的值,如果在当前行中将其设置为 NULL。

我现在有这样的东西:

SELECT *, IFNULL(tag, LAG(tag) OVER(ORDER BY id)) as new_tag FROM tags

...但它只将值复制到相邻的 NULL 行中。 有什么办法吗?

LAG window function 不支持IGNORE NULLS子句,因此请改用LAST_VALUE function 和IGNORE NULLS NULLS。 如果应用于您的查询,

SELECT *, LAST_VALUE(tag IGNORE NULLS) OVER(ORDER BY id) as new_tag FROM tags

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM