我需要查詢表中重複存款記錄,其中在一個現金終端上進行的兩筆存款在同一時間範圍內相同的金額被視爲重複記錄。我現在已經開始了一個查詢,但是我會很感激任何關於「正確」執行此操作的建議或建議。查找重複記錄的高效查詢
1
A
回答
2
一般情況下,你會做自連接到同一個表,並把你的「複製」連接條件中的標準。
E.g.
SELECT
*
FROM
Transactions t1
inner join
Transactions t2
on
t1.Terminal = t2.Terminal and
t1.Amount = t2.Amount and
DATEDIFF(minute,t2.TransactionDate,t1.TransactionDate) between 0 and 10 and
t1.TransactionID > t2.TransactionID /* prevent matching the same row */
2
簡單的集合
SELECT
col1, col2, col3, ...
FROM
MyTable
GROUP BY
col1, col2, col3, ...
HAVING
COUNT(*) >= 2
不包括你的身份/按鍵/ PK列:這將是每行擾亂了總獨一無二的。
爲了得到一個行上
SELECT
col1, col2, col3, ...,
MAX(IDCol) AS RowToDelete,
MIN(IDCol) AS RowToKeep
FROM
MyTable
GROUP BY
col1, col2, col3, ...
HAVING
COUNT(*) >= 2
當然,刪除或保留的,做了MAX或MIN,3個重複然後做一個「養」。
編輯:
一時間窗口內的行,使用自連接或窗口/排序功能
相關問題
- 1. sql查詢找到重複記錄
- 2. SQL Server查詢查找重複記錄加入查詢
- 3. 查找不重複記錄
- 4. SQL查詢重複記錄
- 5. SQL查詢重複記錄
- 6. 重複記錄sybase查詢
- 7. Sqllite查詢重複記錄
- 8. SQL查詢來查找重複的記錄和更新表
- 9. 高效的SELECT查詢在一個月內找到記錄
- 10. SQL(查詢)上的重複列重複記錄檢查
- 11. MS Access SQL查詢 - 查找重複記錄
- 12. 減少查找重複記錄查詢執行時間
- 13. MYSQL查詢根據名字和姓氏查找重複記錄
- 14. 查找重複記錄的SQL Server
- 15. 查找重複記錄的ID sql
- 16. Oracle查詢重複的記錄問題
- 17. 查詢SQL Server中的重複記錄?
- 18. 帶有重複記錄的SQL查詢
- 19. 查詢輸出中的重複記錄
- 20. 非重複記錄的SQL查詢
- 21. 顯示SQL查詢的重複記錄
- 22. 高效的mongodb查詢來查找10K +記錄集合中的平均時間?
- 23. 記錄集高級查詢
- 24. 在HTML表中查找重複記錄
- 25. 如何查找重複記錄在表
- 26. 在BODI中查找重複記錄
- 27. SQL查找重複每用戶記錄
- 28. 相關表中查找重複記錄
- 29. 在SQL中查找重複記錄
- 30. 在fortran中查找重複記錄
你最好找到確切的重複。 – 2010-12-10 08:30:10