Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Effiziente Abfrage zum Auffinden doppelter Datensätze

Im Allgemeinen würden Sie eine Selbstverknüpfung mit derselben Tabelle durchführen und Ihre „Duplikat“-Kriterien in die Verknüpfungsbedingungen einfügen.

Z. B.

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 */