table001有A,B,C三个字段,A字段有重复记录,如何将表中的重复记录删除,生成新的不重复的记录

解决方案 »

  1.   

    问题是:假设有三条记录,A是重复的,但B、C都不一样,请问你要以什么样的规则选择保留哪条记录?
      

  2.   

    a字段是什么啊?在插入的时候判断一下,还有你说具体一点
    select distinct articleId from t_article_keyword where keyword in (${keywords})
    这个是不重复取出
      

  3.   

    把需要的记录抽出来放在新表吧:
    Select A, max(B) as B, max(C) as C
    Into NEW_TABLE
    From OLD_TABLE
    Group By A
      

  4.   

    Oracle下:
    //原来的表做一个备份
    create table xxx_bak as select * from xxx;
    //清除原来表中的内容
    delete from xxx a
        where a.rowid not in
        (
           select max(rowid) 
             from xxx b
         group by b.a 
        );
      

  5.   

    delete from xxx a
      where a.rowid < (
      select  max(b.rowid) 
      from xxx b
      where   a.A=b.A  );