要获取截止到给定时间点的唯一值,可以使用BigQuery的SQL语句和窗口函数。以下是一个解决方法的代码示例:
WITH unique_values AS (
SELECT
value,
ROW_NUMBER() OVER (PARTITION BY value ORDER BY timestamp DESC) AS row_num
FROM
your_table
WHERE
timestamp <= '2022-01-01' -- 替换为你的给定时间点
)
SELECT
value
FROM
unique_values
WHERE
row_num = 1
在上面的示例中,假设你的表名为 "your_table",其中包含一个名为 "value" 的列和一个名为 "timestamp" 的列。你需要将 "your_table" 替换为你的实际表名。
这个查询首先使用窗口函数 ROW_NUMBER() 来为每个唯一的值计算一个行号,按照时间戳倒序排列。然后,查询选择行号为1的唯一值,即截止到给定时间点的最新唯一值。
请确保将 '2022-01-01' 替换为你实际要使用的时间点。