#mysql去重数据
#创建临时表,存储重复记录(重复次数为3,则存储其中2条记录)
create table temp_repeat_tran
as
select *
from mix_trans_time
WHERE
(
bulk_front_uid,
bulk_back_uid
) IN (
SELECT
bulk_front_uid,
bulk_back_uid
FROM
mix_trans_time
GROUP BY
bulk_front_uid,
bulk_back_uid
HAVING
count(*) > 1
)
AND id NOT IN (#忽略最小id,其他重复记录存储到临时表)
SELECT
min(id)
FROM
mix_trans_time
GROUP BY
bulk_front_uid,
bulk_back_uid
HAVING
count(*) > 1
)
ORDER BY
bulk_front_uid,
bulk_back_uid
#从原表中删除上述临时表中的id,则完成了保留一条记录的去重
delete from mix_trans_time
where id in(select
id from temp_repeat_tran)
mysql多字段匹配删除重复值
最新推荐文章于 2024-05-15 15:45:31 发布