sql删除重复保留一条

1.查询重复:select * from wx_user_address  

where USER_num in (select USER_num from wx_user_address group by USER_num having count(USER_num)>1) 

2.删除重复保留一条:

DELETE 

FROM

wx_user_address 
WHERE
user_num IN ( SELECT a.USER_num FROM ( SELECT USER_num FROM wx_user_address GROUP BY USER_num HAVING count( 1 ) > 1 ) a ) 
AND id NOT IN (
SELECT
a.id 
FROM
( SELECT min( id ) AS id FROM wx_user_address GROUP BY USER_num HAVING count( USER_num ) > 1 ) a 
);

猜你喜欢

转载自blog.csdn.net/lingyancangqiong/article/details/80908544