[英]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.