我有一个 Google Big Query 项目,其中需要我删除 a 列中的重复项。有效的方法是什么?我是 Google Big Query 的新用户?
解决此问题的一种方法是使用Windowing功能。使用它我们可以识别正在发生的重复。然后,根据业务逻辑,您可以决定保留哪些记录以及要删除哪些记录。我假设此处将保留第一次出现的情况。
WITH duplicated_records AS (
SELECT
*,
ROW_NUMBER() OVER (PARTITION BY duplicate_column_name ORDER BY (SELECT NULL)) AS row_number
FROM
dataset.table_name
)
DELETE FROM
dataset.table_name
WHERE
EXISTS (
SELECT
1
FROM
duplicated_records dr
WHERE
dataset.table_name.primary_key = dr.primary_key AND dr.row_number > 1
);
尝试一下,希望您能够消除重复记录。如果问题仍然存在,请随时分享错误日志。