小编典典

高效查询以查找重复记录

sql

我需要查询一个表以查找重复的存款记录,其中在某个时间范围内在一个现金终端上以相同金额进行的两次存款被视为重复记录。我现在开始处理查询,但是希望对“正确”执行此操作有任何建议。


阅读 153

收藏
2021-04-22

共1个答案

小编典典

通常,您需要对同一张表进行自我联接,然后将“重复”条件放入联接条件中。

例如

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 */
2021-04-22