mysql删除重复数据只保留一条

/ 0条评论 / 0 个点赞 / 737人阅读

mysql中删除重复数据只保留一条数据,删除的时候一定要先备份数据,多次验证后才能执行正式库

DELETE 
FROM
	cgform_lg_field_copy1 
WHERE
	id NOT IN (
	SELECT
		t.max_id 
	FROM
		(SELECT MAX(id) AS max_id FROM cgform_lg_field_copy1 WHERE  buss_code = 'E0202' and TEMPLCLASSIFY='0' GROUP BY field_name ) AS t 
	) 
	AND buss_code = 'E0202'  and TEMPLCLASSIFY='0';
	
DELETE 
FROM
	cgform_lg_field_copy1 
WHERE
	id NOT IN (
	SELECT
		t.max_id 
	FROM
		(SELECT MAX(id) AS max_id FROM cgform_lg_field_copy1 WHERE  buss_code = 'E0202' and TEMPLCLASSIFY='1' GROUP BY field_name ) AS t 
	) 
	AND buss_code = 'E0202'  and TEMPLCLASSIFY='1';