Mysql5.7 und niedrigere Versionen beseitigen das durch Batch-Hinzufügen verursachte Datenduplizierungsproblem. Mehrere doppelte Daten, nur eine wird beibehalten.

Anwendungsbereich: MySQL5.7 und niedriger, MySQL8.0+ kann Fensterfunktionen direkt verwenden

Unter diesen ist crossRecordSyscode die einzige Codierung, die gemäß der SQL-Anweisung geändert werden kann.

LÖSCHEN AUS ${tableName}, wo die ID enthalten ist
(
    SELECT t2.id FROM(
        WÄHLEN Sie t.id AUS (
            WÄHLEN
                @num := IF(@crossRecordSyscode = crossRecordSyscode, @num + 1, 1) num,
                Ausweis,
                Chepaihao,
                tongxingshijian,
                @crossRecordSyscode := crossRecordSyscode crossRecordSyscode
            AUS
                ${tableName}, (SELECT @crossRecordSyscode := '', @num := 0) t1
            Wo
                DATEDIFF(NOW(),tongxingshijian) < 2
            SORTIEREN NACH
                crossRecordSyscode, id
            ) T
        wobei t.num >1
    )t2
)

おすすめ

転載: blog.csdn.net/weixin_43005845/article/details/119819909