mysql5.7及以下版本,删除因批量新增出现的数据重复问题,多条重复数据,只保留一条。

适用范围:mysql5.7及以下版本,mysql8.0+ 可以直接使用窗口函数

其中 crossRecordSyscode  是唯一编码,自行根据sql语句进行改造。

DELETE FROM ${tableName}  where id in
(
    SELECT t2.id FROM(
        SELECT t.id FROM (
            SELECT
                @num := IF(@crossRecordSyscode = crossRecordSyscode, @num + 1, 1) num,
                id,
                chepaihao,
                tongxingshijian,
                @crossRecordSyscode := crossRecordSyscode crossRecordSyscode
            FROM
                ${tableName}, (SELECT @crossRecordSyscode := '', @num := 0) t1
            where
                DATEDIFF(NOW(),tongxingshijian) < 2
            ORDER BY
                crossRecordSyscode, id
            )  t
        where t.num >1
    ) t2
)

猜你喜欢

转载自blog.csdn.net/weixin_43005845/article/details/119819909
今日推荐