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