-2
A
回答
0
您可以使用QUALIFY
語句來識別和輸出重複:
既然你不同意你的表......然後考慮以下ABC
表:
+----+----+----+
| f1 | f2 | f3 |
+----+----+----+
| 1 | a | x |
| 1 | b | y |
| 2 | a | z |
| 2 | b | w |
| 2 | a | n |
+----+----+----+
如果使用字段f1
和f2
確定了唯一記錄。在此示例中,f1=2 and f2='a'
與f3
值z
和n
重複的記錄。輸出這些我們使用qualify
:
SELECT *
FROM ABC
QUALIFY COUNT(*) OVER (PARTITION BY f1, f2) > 1;
QUALIFY
使用窗口函數來確定哪些記錄在輸出記錄集中包含。這裏我們使用窗口函數COUNT(*)
通過我們獨特的組合鍵f1, f2
進行分區。我們只保留那些分區上的Count(*)
大於1
的記錄。
這將輸出:
+----+----+----+
| f1 | f2 | f3 |
+----+----+----+
| 2 | a | z |
| 2 | a | n |
+----+----+----+
您可以在CREATE TABLE
語句中使用此類似:
CREATE TABLE ABC_DUPE AS
(
SELECT *
FROM ABC
QUALIFY COUNT(*) OVER (PARTITION BY f1, f2) > 1
) PRIMARY INDEX (f1, f2);
相關問題
- 1. 插入重複記錄LINQ
- 2. 重複插入記錄
- 3. 插入新記錄時檢查重複
- 4. 當插入記錄不爲空時,如何將表中的記錄插入臨時表中?
- 5. 將記錄(存儲過程的結果)插入臨時表
- 6. 臨時記錄插入技術
- 7. 從臨時表向新表插入記錄並從臨時表中刪除
- 8. 正在將重複的記錄插入到表格中
- 9. 過濾從臨時表從`regexp_split_to_table`重複記錄
- 10. 從連接臨時表插入多條記錄
- 11. 問題試圖插入記錄的臨時表
- 12. 存儲過程只從臨時表中插入一條記錄
- 13. 如何在臨時表中插入第二條記錄?
- 14. 插入記錄不失敗重複
- 15. 插入max + 1的重複記錄entry_sr_no
- 16. c#循環重複記錄插入
- 17. 錯誤而插入重複記錄
- 18. 重複插入記錄程序
- 19. 如何防止插入重複記錄?
- 20. 併發導致重複記錄插入
- 21. std :: unordered_set允許插入重複記錄
- 22. 插入記錄,而不允許重複
- 23. 用SQL插入重複記錄
- 24. LinqToSql重複記錄與關係插入
- 25. 無法重現表中插入的重複記錄問題
- 26. 從臨時表中插入重複的行
- 27. SQL避免重複被插入登臺/臨時表
- 28. mssql - 從臨時表中將多行重新插入原始表
- 29. 輸入重複記錄時不要插入到數據庫
- 30. cfselect在將記錄拉入表單時具有重複選項