[英]Removing duplicates in AWS Redshift using SQL
摘要:我有一張看起來像這樣的桌子
實體編號 | 實體名稱 |
---|---|
01 | 實體1 |
02 | 實體2 |
01 | 實體1 |
03 | 實體3 |
問題我正在嘗試使用 SQL proc 刪除重復項,但很難找到解決方案。 在這種情況下,有沒有辦法只使用 SQL 刪除重復項? 理想情況下,我想創建一個過程,我可以在需要刪除重復項時調用它。
我嘗試使用 CTE 和 row_number() 但努力讓它工作......
如果我正確地收集了你的數據,一個簡單的不同選擇應該在這里工作:
SELECT DISTINCT EntityId, EntityName
FROM yourTable;
您在 row_number() 的正確軌道上,但看起來您正在嘗試刪除除了一個重復行之外的所有行。 這是不可能的,因為無法區分一個副本和另一個副本。 您將需要通過幾個步驟來完成此操作。
您可以在事務塊中執行此操作,這樣數據庫的其他用戶就不會看到缺少行的表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.