BigQuery中为重复ID行填充对应最大updateTimestamp值
BigQuery 高效填充每个ID的最大更新时间戳
针对你的需求,直接使用窗口函数就能实现一次表扫描完成计算,完全避免多次查询的开销,适合大数据量表的场景。
示例SQL
SELECT id, updateTimestamp, -- 按id分组计算该组的最大更新时间戳,为每一行填充对应值 MAX(updateTimestamp) OVER(PARTITION BY id) AS max_updateTimestamp, -- 保留原表其他需要的列 col1, col2, col3 FROM `your-project.your-dataset.target-table`
关键说明
PARTITION BY id:将数据按id分组,确保每个分组内计算各自的最大时间戳MAX(updateTimestamp) OVER(...):窗口函数会在单次表扫描过程中,为每个分组的所有行返回该组的最大updateTimestamp值,无需额外关联或多次查询
内容的提问来源于stack exchange,提问作者vik_singh
相关产品推荐
相关产品推荐

