【发布时间】:2017-01-25 01:11:57
【问题描述】:
我在 bigquery 中有一个 DAY 分区表,我想删除其中某个列值重复的行(我只想要最后一个这样的值,按时间戳列排序)。现在由于 bigquery DML 语言不支持分区表(并且有其他限制),我认为我需要做的是创建一个临时表,它是原始的过滤视图,删除原始然后执行副本将临时表改成原名并删除临时表。我可以这样做:
SELECT * EXCEPT(row_number)
FROM (
SELECT
*,
ROW_NUMBER()
OVER (PARTITION BY partition_col order by time_col desc)
row_number
FROM my_partioned_table
)
WHERE row_number = 1
但是如何使用这种方法保留分区信息?
如果我复制一个完整的表,会保留分区信息,但如果我想有效地创建一个表的过滤视图并保留分区,我该怎么办?
【问题讨论】:
标签: google-bigquery