【问题标题】:Snowflake - Deleting a CTE because table has duplicate rows雪花 - 删除 CTE,因为表有重复的行
【发布时间】:2022-06-14 01:11:18
【问题描述】:

我有 tableA 有重复的行,我注意到有些列是不同的,但基本上我被告知这并不重要,我们只是想确保每一行都有一个唯一的 ID。

我在 Snowflake 中尝试过这个,但我读到我们不能使用 CTE 来删除、插入.. 等等。那么如何呢?

WITH cte AS (
    SELECT 
        _LOAD_DATETIME, 
        _LOAD_FILENAME, 
        _LOAD_FILE_ROW_NUMBER, 
        ID, 
  CONTENT_CATEGORY,
  CREATED_TIME,
  DESCRIPTION,
  FROM_INFO,
  LENGTH,
  PERMALINK_URL,
  POST_VIEWS,
  PUBLISHED,
  TITLE,
  VIEWS,
  LOADED_DATE,
        ROW_NUMBER() OVER (
            PARTITION BY 
                id, 
                FROM_INFO, 
                title
        ) row_num
     FROM 
        tableA)
DELETE FROM cte
WHERE row_num > 1;

【问题讨论】:

    标签: snowflake-cloud-data-platform


    【解决方案1】:

    替代方法可以是餐桌娱乐:

    CREATE OR REPLACE TABLE tableA
    COPY GRANTS
    AS
    SELECT *
    FROM tableA
    QUALIFY  ROW_NUMBER() OVER (PARTITION BY  id, FROM_INFO,  title) = 1;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-26
      • 1970-01-01
      • 1970-01-01
      • 2021-06-15
      • 2021-08-15
      • 1970-01-01
      • 1970-01-01
      • 2021-08-18
      相关资源
      最近更新 更多