SQL中删除同一字段中重复的值

2015-11-21 01:29:39 · 作者: · 浏览: 2
/////////////////////目地:ZDJZ_DIS中 name字段有重复的值,删除重复的值
DELETE *
FROM ZDJZ_DIS
WHERE NAME  IN (select NAME from ZDJZ_DIS group by NAME having count(NAME) >1);
上面的做法会删除掉所有的相同的值,包括你想要的,只要重复就删除
 
DELETE *
FROM ZDJZ_DIS
WHERE ID  in (select min(ID) from ZDJZ_DIS group by NAME having count(NAME)>
1); 1有没有重复的某项值 2如果有的话,选择ID最小的那个 结合起来 DELETE * FROM ZDJZ_DIS WHERE NAME IN (select NAME from ZDJZ_DIS group by NAME having count(NAME) >1) and ID not in (select min(ID) from ZDJZ_DIS group by NAME having count(NAME)>1);

?