当前位置:编程学习 > JAVA >>

**sql语句 请教

table001有A,B,C三个字段,A字段有重复记录,如何将表中的重复记录删除,生成新的不重复的记录
--------------------编程问答-------------------- 问题是:假设有三条记录,A是重复的,但B、C都不一样,请问你要以什么样的规则选择保留哪条记录? --------------------编程问答-------------------- a字段是什么啊?在插入的时候判断一下,还有你说具体一点
select distinct articleId from t_article_keyword where keyword in (${keywords})
这个是不重复取出 --------------------编程问答--------------------
引用 1 楼 ldh911 的回复:
问题是:假设有三条记录,A是重复的,但B、C都不一样,请问你要以什么样的规则选择保留哪条记录?
也是啊 --------------------编程问答--------------------
引用 3 楼 wclxyn 的回复:
引用 1 楼 ldh911 的回复:

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

A不重复进行,BC可以不管 --------------------编程问答-------------------- 把需要的记录抽出来放在新表吧:
Select A, max(B) as B, max(C) as C
Into NEW_TABLE
From OLD_TABLE
Group By A
--------------------编程问答-------------------- 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 
    ); --------------------编程问答-------------------- delete from xxx a
  where a.rowid < (
  select  max(b.rowid) 
  from xxx b
  where   a.A=b.A  );
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,