我有一个字段出现很多重复的记录,现在想删除重复的记录,只想保留一条,下面删除重记录出错了,请问应该怎么写?谢谢大家。(没有分了,已经全部用上,谢谢)
MyConn.Open();    
string delStr = "select * from 表名 group by 字段名 salary having count(*)>1";
OleDbCommand MyComd = new OleDbCommand(delStr, MyConn);
MyComd.ExecuteNonQuery();
MyConn.Close();

解决方案 »

  1.   

    string delStr = "delete * from 表名 group by 字段名 salary having count(*)>1";
      

  2.   


    --删除重复记录,留下ID最大的一条记录
    delete t from [Nop_LocaleStringResource] t
    where LocaleStringResourceID not in 
    (select MAX(LocaleStringResourceID) from [Nop_LocaleStringResource] where LanguageID=t.LanguageID and ResourceName=t.ResourceName and ResourceValue=t.ResourceValue)
      

  3.   

    http://blog.csdn.net/anya/article/details/6407280
      

  4.   


    语法错误 (操作符丢失) 在查询表达式 '字段名 salary' 中。
      

  5.   

    2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录 
    delete from people 
    where   peopleName in (select peopleName    from people group by peopleName      having count(peopleName) > 1) 
    and   peopleId not in (select min(peopleId) from people group by peopleName     having count(peopleName)>1) ------------------------
    用这个解决了,谢谢大家