从红移中删除重复的行

新手上路,请多包涵

我正在尝试删除我的 redshift 表中的一些重复数据。

以下是我的查询:-

 With duplicates
As
(Select *, ROW_NUMBER() Over (PARTITION by record_indicator Order by record_indicator) as Duplicate From table_name)
delete from duplicates
Where Duplicate > 1 ;

这个查询给了我一个错误。

亚马逊无效操作:“删除”处或附近的语法错误;

不确定问题是什么,因为 with 子句的语法似乎是正确的。以前有人遇到过这种情况吗?

原文由 Neil 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 605
1 个回答
with duplicates as
(
     select a.*, row_number (over (partition by first_name, last_name, email order by first_name, last_name, email) as rn from contacts a
)
delete from contacts
where contact_id in (
    select contact_id  from duplicates where rn >1
)

原文由 Gyan 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进