我需要查询表中重复存款记录,其中在一个现金终端上进行的两笔存款在同一时间范围内相同的金额被视为重复记录。我现在已经开始了一个查询,但是我会很感激任何关于“正确”执行此操作的建议或建议。查找重复记录的高效查询
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