mysql删除重复数数据完美
DELETE consum_record
FROM
consum_record,
( SELECT
min(id) id,
user_id,
monetary,
consume_time FROM
consum_record GROUP BY
user_id,
monetary,
consume_time HAVING
count(*) > 1
) t2
WHERE
consum_record.user_id = t2.user_id
and consum_record.monetary = t2.monetary and consum_record.consume_time = t2.consume_time
AND consum_record.id > t2.id;
mysql可以进行多表关联删除,因此可以创建一个临时表,表中重复数据中选取id值最小的出来,然后删除比最小值大的数据。
delete a from a,b where a.name = b.name and a.id>b.id;