我有一个 BQ 表,其中包含相同 ad_id 的重复(x2 次)行。
我想删除 ts > 120 min 的旧行,其中有一个具有相同 ad_id 的新行(架构包含timestamp, ad_id, value. But there is not rowId
)。
这是我的尝试,有更好的方法吗?
DELETE TOP FROM {table_full_name} o
WHERE timestamp < TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 120 MINUTE) AND timestamp in (
SELECT MIN(timestamp)
FROM {table_full_name} i
WHERE i.ad_id=o.ad_id
GROUP BY ad_id)