sql删除重复行

 SELECT *from user_info;

-- 单字段筛选重复行

SELECT *from user_info WHERE NAME in ( SELECT NAME from user_info GROUP BY NAME HAVING COUNT(NAME)>1);

 

 -- 删除重复行,保留id最小的数据
SELECT *from user_info WHERE 
NAME in ( SELECT NAME from user_info GROUP BY NAME HAVING COUNT(NAME)>1)
AND id NOT in ( SELECT min(id) from user_info GROUP BY NAME HAVING COUNT(NAME)>1);

 -- 多字段判断重复

SELECT * from user_info WHERE (name,school) in ( SELECT name,school from user_info group by name,school HAVING COUNT(*)>1);

猜你喜欢

转载自www.cnblogs.com/vanoraxnc/p/8946376.html