如何从Google大查询表中的大数据集中删除重复数据?

问题描述 投票:0回答:1

我有一个 Google Big Query 项目,其中需要我删除 a 列中的重复项。有效的方法是什么?我是 Google Big Query 的新用户?

google-bigquery
1个回答
0
投票

解决此问题的一种方法是使用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
    );

尝试一下,希望您能够消除重复记录。如果问题仍然存在,请随时分享错误日志。

© www.soinside.com 2019 - 2024. All rights reserved.